Re: [kvm-unit-tests PATCH v9 31/31] powerpc: gitlab CI update

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 04/05/2024 14.28, Nicholas Piggin wrote:
This adds testing for the powernv machine, and adds a gitlab-ci test
group instead of specifying all tests in .gitlab-ci.yml, and adds a
few new tests (smp, atomics) that are known to work in CI.

Signed-off-by: Nicholas Piggin <npiggin@xxxxxxxxx>
---
  .gitlab-ci.yml        | 30 ++++++++----------------------
  powerpc/unittests.cfg | 32 ++++++++++++++++++++++++++------
  2 files changed, 34 insertions(+), 28 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 23bb69e24..31a2a4e34 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -97,17 +97,10 @@ build-ppc64be:
   - cd build
   - ../configure --arch=ppc64 --endian=big --cross-prefix=powerpc64-linux-gnu-
   - make -j2
- - ACCEL=tcg ./run_tests.sh
-      selftest-setup
-      selftest-migration
-      selftest-migration-skip
-      spapr_hcall
-      rtas-get-time-of-day
-      rtas-get-time-of-day-base
-      rtas-set-time-of-day
-      emulator
-      | tee results.txt
- - if grep -q FAIL results.txt ; then exit 1 ; fi
+ - ACCEL=tcg MAX_SMP=8 ./run_tests.sh -g gitlab-ci | tee results.txt
+ - grep -q PASS results.txt && ! grep -q FAIL results.txt
+ - ACCEL=tcg MAX_SMP=8 MACHINE=powernv ./run_tests.sh -g gitlab-ci | tee results.txt
+ - grep -q PASS results.txt && ! grep -q FAIL results.txt
build-ppc64le:
   extends: .intree_template
@@ -115,17 +108,10 @@ build-ppc64le:
   - dnf install -y qemu-system-ppc gcc-powerpc64-linux-gnu nmap-ncat
   - ./configure --arch=ppc64 --endian=little --cross-prefix=powerpc64-linux-gnu-
   - make -j2
- - ACCEL=tcg ./run_tests.sh
-      selftest-setup
-      selftest-migration
-      selftest-migration-skip
-      spapr_hcall
-      rtas-get-time-of-day
-      rtas-get-time-of-day-base
-      rtas-set-time-of-day
-      emulator
-      | tee results.txt
- - if grep -q FAIL results.txt ; then exit 1 ; fi
+ - ACCEL=tcg MAX_SMP=8 ./run_tests.sh -g gitlab-ci | tee results.txt
+ - grep -q PASS results.txt && ! grep -q FAIL results.txt
+ - ACCEL=tcg MAX_SMP=8 MACHINE=powernv ./run_tests.sh -g gitlab-ci | tee results.txt
+ - grep -q PASS results.txt && ! grep -q FAIL results.txt
# build-riscv32:
  # Fedora doesn't package a riscv32 compiler for QEMU. Oh, well.
diff --git a/powerpc/unittests.cfg b/powerpc/unittests.cfg
index d767f5d68..6fae688a8 100644
--- a/powerpc/unittests.cfg
+++ b/powerpc/unittests.cfg
@@ -16,17 +16,25 @@
  file = selftest.elf
  smp = 2
  extra_params = -m 1g -append 'setup smp=2 mem=1024'
-groups = selftest
+groups = selftest gitlab-ci
[selftest-migration]
  file = selftest-migration.elf
  machine = pseries
  groups = selftest migration
+# QEMU 7.0 (Fedora 37) in gitlab CI has known migration bugs in TCG, so
+# make a kvm-only version for CI
+[selftest-migration-ci]
+file = selftest-migration.elf
+machine = pseries
+groups = nodefault selftest migration gitlab-ci
+accel = kvm
+
  [selftest-migration-skip]
  file = selftest-migration.elf
  machine = pseries
-groups = selftest migration
+groups = selftest migration gitlab-ci
  extra_params = -append "skip"
[migration-memory]
@@ -37,6 +45,7 @@ groups = migration
  [spapr_hcall]
  file = spapr_hcall.elf
  machine = pseries
+groups = gitlab-ci
[spapr_vpa]
  file = spapr_vpa.elf
@@ -47,38 +56,43 @@ file = rtas.elf
  machine = pseries
  timeout = 5
  extra_params = -append "get-time-of-day date=$(date +%s)"
-groups = rtas
+groups = rtas gitlab-ci
[rtas-get-time-of-day-base]
  file = rtas.elf
  machine = pseries
  timeout = 5
  extra_params = -rtc base="2006-06-17" -append "get-time-of-day date=$(date --date="2006-06-17 UTC" +%s)"
-groups = rtas
+groups = rtas gitlab-ci
[rtas-set-time-of-day]
  file = rtas.elf
  machine = pseries
  extra_params = -append "set-time-of-day"
  timeout = 5
-groups = rtas
+groups = rtas gitlab-ci
[emulator]
  file = emulator.elf
+groups = gitlab-ci
+# QEMU 7.0 (Fedora 37) in gitlab CI fails this
  [interrupts]
  file = interrupts.elf
+# QEMU 7.0 (Fedora 37) in gitlab CI fails this
  [mmu]
  file = mmu.elf
  smp = $MAX_SMP
+# QEMU 7.0 (Fedora 37) in gitlab CI fails this
  [pmu]
  file = pmu.elf
[smp]
  file = smp.elf
  smp = 2
+groups = gitlab-ci
[smp-smt]
  file = smp.elf
@@ -92,16 +106,19 @@ accel = tcg,thread=single
[atomics]
  file = atomics.elf
+groups = gitlab-ci
[atomics-migration]
  file = atomics.elf
  machine = pseries
  extra_params = -append "migration -m"
-groups = migration
+groups = migration gitlab-ci
+# QEMU 7.0 (Fedora 37) in gitlab CI fails this
  [timebase]
  file = timebase.elf
+# QEMU 7.0 (Fedora 37) in gitlab CI fails this
  [timebase-icount]
  file = timebase.elf
  accel = tcg
@@ -115,14 +132,17 @@ smp = 2,threads=2
  extra_params = -machine cap-htm=on -append "h_cede_tm"
  groups = h_cede_tm
+# QEMU 7.0 (Fedora 37) in gitlab CI fails this
  [sprs]
  file = sprs.elf
+# QEMU 7.0 (Fedora 37) in gitlab CI fails this
  [sprs-migration]
  file = sprs.elf
  machine = pseries
  extra_params = -append '-w'
  groups = migration

Have any of the failures been fixed in newer versions of QEMU?
If so, you could also update the ppc jobs to fedora:40:

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -91,6 +91,7 @@ build-arm:
build-ppc64be:
  extends: .outoftree_template
+ image: fedora:40
  script:
  - dnf install -y qemu-system-ppc gcc-powerpc64-linux-gnu nmap-ncat
  - mkdir build
@@ -111,6 +112,7 @@ build-ppc64be:
build-ppc64le:
  extends: .intree_template
+ image: fedora:40
  script:
  - dnf install -y qemu-system-ppc gcc-powerpc64-linux-gnu nmap-ncat
  - ./configure --arch=ppc64 --endian=little --cross-prefix=powerpc64-linux-gnu-

I also had a patch somewhere that updates all jobs, it just needs some
polishing to get finished ...  maybe a good point in time to do this now.

 Thomas





[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux