[kvm-unit-tests PATCH v9 31/31] powerpc: gitlab CI update
Thomas Huth
thuth at redhat.com
Tue Jun 4 21:01:50 AEST 2024
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 at gmail.com>
> ---
> .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
More information about the Linuxppc-dev
mailing list