[kvm-unit-tests PATCH v8 06/35] gitlab-ci: Run migration selftest on s390x and powerpc

Nicholas Piggin
2024-04-05T08:36:13Z

The migration harness is complicated and easy to break so CI will
be helpful.

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
---
.gitlab-ci.yml | 32 +++++++++++++++++++++++---------
s390x/unittests.cfg | 8 ++++++++
2 files changed, 31 insertions(+), 9 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index ff34b1f50..60b3cdfd2 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -92,27 +92,39 @@ build-arm:
build-ppc64be:
extends: .outoftree_template
script:
- - dnf install -y qemu-system-ppc gcc-powerpc64-linux-gnu
+ - dnf install -y qemu-system-ppc gcc-powerpc64-linux-gnu nmap-ncat
- mkdir build
- cd build
- ../configure --arch=ppc64 --endian=big --cross-prefix=powerpc64-linux-gnu-
- make -j2
- ACCEL=tcg ./run_tests.sh
- selftest-setup spapr_hcall rtas-get-time-of-day rtas-get-time-of-day-base
- rtas-set-time-of-day emulator
- | tee results.txt
+ 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

build-ppc64le:
extends: .intree_template
script:
- - dnf install -y qemu-system-ppc gcc-powerpc64-linux-gnu
+ - 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 spapr_hcall rtas-get-time-of-day rtas-get-time-of-day-base
- rtas-set-time-of-day emulator
- | tee results.txt
+ 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

# build-riscv32:
@@ -135,7 +147,7 @@ build-riscv64:
build-s390x:
extends: .outoftree_template
script:
- - dnf install -y qemu-system-s390x gcc-s390x-linux-gnu
+ - dnf install -y qemu-system-s390x gcc-s390x-linux-gnu nmap-ncat
- mkdir build
- cd build
- ../configure --arch=s390x --cross-prefix=s390x-linux-gnu-
@@ -161,6 +173,8 @@ build-s390x:
sclp-1g
sclp-3g
selftest-setup
+ selftest-migration-kvm
+ selftest-migration-skip
sieve
smp
stsi
diff --git a/s390x/unittests.cfg b/s390x/unittests.cfg
index 49e3e4608..faa0ce0eb 100644
--- a/s390x/unittests.cfg
+++ b/s390x/unittests.cfg
@@ -31,6 +31,14 @@ groups = selftest migration
# https://lore.kernel.org/qemu-devel/20240219061731.232570-1-npiggin@gmail.com/
accel = kvm

+[selftest-migration-kvm]
+file = selftest-migration.elf
+groups = nodefault
+accel = kvm
+# This is a special test for gitlab-ci that must not use TCG until the
+# TCG migration fix has made its way into CI environment's QEMU.
+# https://lore.kernel.org/qemu-devel/20240219061731.232570-1-npiggin@gmail.com/
+
[selftest-migration-skip]
file = selftest-migration.elf
groups = selftest migration
--
2.43.0