Skip to contentSkip to conversation

gitlab-ci.yml: Extend the lists of tests that we run with TCG

PATCH In review Thomas Huth 2 participants 3 messages Jul 1, 2020 KVM

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 gitlab-ci.yml: Extend the lists of tests that we run with TCG

Thank to the recent fixes, there are now quite a lot of additional 32-bit x86 tests that we can run in the CI.
And thanks to the update to Fedora 32 (that introduced a newer version of QEMU), there are now also some additional tests that we can run with TCG for the other architectures.
Note that for arm/aarch64, we now also set the MAX_SMP to be able to run SMP-tests with TCG in the single-threaded CI containers, too.

---
Note: taskswitch2 for 32-bit x86 is still broken, and thus has not been added back again. It used to work with F30 ... maybe it's a QEMU regression?

 .gitlab-ci.yml | 24 +++++++++++++++---------
 1 file changed, 15 insertions(+), 9 deletions(-)
.gitlab-ci.yml +15 -9
index 3af53f0..d042cde 100644
@@ -9,9 +9,10 @@ build-aarch64:
  - dnf install -y qemu-system-aarch64 gcc-aarch64-linux-gnu
  - ./configure --arch=aarch64 --cross-prefix=aarch64-linux-gnu-
  - make -j2
- - ACCEL=tcg ./run_tests.sh
+ - ACCEL=tcg MAX_SMP=8 ./run_tests.sh
      selftest-setup selftest-vectors-kernel selftest-vectors-user selftest-smp
-     pci-test pmu gicv2-active gicv3-active psci timer
+     pci-test pmu-cycle-counter pmu-event-counter-config pmu-sw-incr gicv2-ipi
+     gicv2-mmio gicv3-ipi gicv2-active gicv3-active psci timer cache
      | tee results.txt
  - if grep -q FAIL results.txt ; then exit 1 ; fi
 
@@ -20,9 +21,10 @@ build-arm:
  - dnf install -y qemu-system-arm gcc-arm-linux-gnu
  - ./configure --arch=arm --cross-prefix=arm-linux-gnu-
  - make -j2
- - ACCEL=tcg ./run_tests.sh
+ - ACCEL=tcg MAX_SMP=8 ./run_tests.sh
      selftest-setup selftest-vectors-kernel selftest-vectors-user selftest-smp
-     pci-test pmu gicv2-active gicv3-active psci
+     pci-test pmu-cycle-counter gicv2-ipi gicv2-mmio gicv3-ipi gicv2-active
+     gicv3-active psci
      | tee results.txt
  - if grep -q FAIL results.txt ; then exit 1 ; fi
 
@@ -54,7 +56,8 @@ build-s390x:
  - ./configure --arch=s390x --cross-prefix=s390x-linux-gnu-
  - make -j2
  - ACCEL=tcg ./run_tests.sh
-     selftest-setup intercept emulator sieve diag10
+     selftest-setup intercept emulator sieve skey diag10 diag308 vector diag288
+     stsi sclp-1g sclp-3g
      | tee results.txt
  - if grep -q FAIL results.txt ; then exit 1 ; fi
 
@@ -64,10 +67,10 @@ build-x86_64:
  - ./configure --arch=x86_64
  - make -j2
  - ACCEL=tcg ./run_tests.sh
-     smptest smptest3 vmexit_cpuid vmexit_mov_from_cr8
+     ioapic-split smptest smptest3 vmexit_cpuid vmexit_mov_from_cr8
      vmexit_mov_to_cr8 vmexit_inl_pmtimer  vmexit_ipi vmexit_ipi_halt
      vmexit_ple_round_robin vmexit_tscdeadline vmexit_tscdeadline_immed
-     eventinj msr port80 setjmp syscall tsc rmap_chain umip intel_iommu
+     eventinj msr port80 setjmp sieve syscall tsc rmap_chain umip intel_iommu
      | tee results.txt
  - if grep -q FAIL results.txt ; then exit 1 ; fi
 
@@ -77,7 +80,10 @@ build-i386:
  - ./configure --arch=i386
  - make -j2
  - ACCEL=tcg ./run_tests.sh
-     cmpxchg8b eventinj port80 setjmp sieve tsc taskswitch umip
+     cmpxchg8b vmexit_cpuid vmexit_mov_from_cr8 vmexit_mov_to_cr8
+     vmexit_inl_pmtimer vmexit_ipi vmexit_ipi_halt vmexit_ple_round_robin
+     vmexit_tscdeadline vmexit_tscdeadline_immed eventinj port80 setjmp sieve
+     tsc taskswitch umip
      | tee results.txt
  - if grep -q FAIL results.txt ; then exit 1 ; fi
 
@@ -87,7 +93,7 @@ build-clang:
  - ./configure --arch=x86_64 --cc=clang
  - make -j2
  - ACCEL=tcg ./run_tests.sh
-     smptest smptest3 vmexit_cpuid vmexit_mov_from_cr8
+     ioapic-split smptest smptest3 vmexit_cpuid vmexit_mov_from_cr8
      vmexit_mov_to_cr8 vmexit_inl_pmtimer  vmexit_ipi vmexit_ipi_halt
      vmexit_ple_round_robin vmexit_tscdeadline vmexit_tscdeadline_immed
      eventinj msr port80 setjmp syscall tsc rmap_chain umip intel_iommu
Signature · 1 line
2.18.1
maintainer
#1 lore raw
Quoted 8 lines · Thomas Huth

Thank to the recent fixes, there are now quite a lot of additional 32-bit x86 tests that we can run in the CI.
And thanks to the update to Fedora 32 (that introduced a newer version of QEMU), there are now also some additional tests that we can run with TCG for the other architectures.
Note that for arm/aarch64, we now also set the MAX_SMP to be able to run SMP-tests with TCG in the single-threaded CI containers, too.

Quoted 4 lines

---
Note: taskswitch2 for 32-bit x86 is still broken, and thus has not been added back again. It used to work with F30 ... maybe it's a QEMU regression?

It's on my todo list to check. One thing (sorry about the constant nitpicking), should tests be listed one per line so that it's clearer when we add them?

But anyway I'm queuing this patch.

Paolo

Quoted 78 lines
 .gitlab-ci.yml | 24 +++++++++++++++---------
 1 file changed, 15 insertions(+), 9 deletions(-)
.gitlab-ci.yml +15 -9
index 3af53f0..d042cde 100644
@@ -9,9 +9,10 @@ build-aarch64:
  - dnf install -y qemu-system-aarch64 gcc-aarch64-linux-gnu
  - ./configure --arch=aarch64 --cross-prefix=aarch64-linux-gnu-
  - make -j2
- - ACCEL=tcg ./run_tests.sh
+ - ACCEL=tcg MAX_SMP=8 ./run_tests.sh
      selftest-setup selftest-vectors-kernel selftest-vectors-user selftest-smp
-     pci-test pmu gicv2-active gicv3-active psci timer
+     pci-test pmu-cycle-counter pmu-event-counter-config pmu-sw-incr gicv2-ipi
+     gicv2-mmio gicv3-ipi gicv2-active gicv3-active psci timer cache
      | tee results.txt
  - if grep -q FAIL results.txt ; then exit 1 ; fi
 
@@ -20,9 +21,10 @@ build-arm:
  - dnf install -y qemu-system-arm gcc-arm-linux-gnu
  - ./configure --arch=arm --cross-prefix=arm-linux-gnu-
  - make -j2
- - ACCEL=tcg ./run_tests.sh
+ - ACCEL=tcg MAX_SMP=8 ./run_tests.sh
      selftest-setup selftest-vectors-kernel selftest-vectors-user selftest-smp
-     pci-test pmu gicv2-active gicv3-active psci
+     pci-test pmu-cycle-counter gicv2-ipi gicv2-mmio gicv3-ipi gicv2-active
+     gicv3-active psci
      | tee results.txt
  - if grep -q FAIL results.txt ; then exit 1 ; fi
 
@@ -54,7 +56,8 @@ build-s390x:
  - ./configure --arch=s390x --cross-prefix=s390x-linux-gnu-
  - make -j2
  - ACCEL=tcg ./run_tests.sh
-     selftest-setup intercept emulator sieve diag10
+     selftest-setup intercept emulator sieve skey diag10 diag308 vector diag288
+     stsi sclp-1g sclp-3g
      | tee results.txt
  - if grep -q FAIL results.txt ; then exit 1 ; fi
 
@@ -64,10 +67,10 @@ build-x86_64:
  - ./configure --arch=x86_64
  - make -j2
  - ACCEL=tcg ./run_tests.sh
-     smptest smptest3 vmexit_cpuid vmexit_mov_from_cr8
+     ioapic-split smptest smptest3 vmexit_cpuid vmexit_mov_from_cr8
      vmexit_mov_to_cr8 vmexit_inl_pmtimer  vmexit_ipi vmexit_ipi_halt
      vmexit_ple_round_robin vmexit_tscdeadline vmexit_tscdeadline_immed
-     eventinj msr port80 setjmp syscall tsc rmap_chain umip intel_iommu
+     eventinj msr port80 setjmp sieve syscall tsc rmap_chain umip intel_iommu
      | tee results.txt
  - if grep -q FAIL results.txt ; then exit 1 ; fi
 
@@ -77,7 +80,10 @@ build-i386:
  - ./configure --arch=i386
  - make -j2
  - ACCEL=tcg ./run_tests.sh
-     cmpxchg8b eventinj port80 setjmp sieve tsc taskswitch umip
+     cmpxchg8b vmexit_cpuid vmexit_mov_from_cr8 vmexit_mov_to_cr8
+     vmexit_inl_pmtimer vmexit_ipi vmexit_ipi_halt vmexit_ple_round_robin
+     vmexit_tscdeadline vmexit_tscdeadline_immed eventinj port80 setjmp sieve
+     tsc taskswitch umip
      | tee results.txt
  - if grep -q FAIL results.txt ; then exit 1 ; fi
 
@@ -87,7 +93,7 @@ build-clang:
  - ./configure --arch=x86_64 --cc=clang
  - make -j2
  - ACCEL=tcg ./run_tests.sh
-     smptest smptest3 vmexit_cpuid vmexit_mov_from_cr8
+     ioapic-split smptest smptest3 vmexit_cpuid vmexit_mov_from_cr8
      vmexit_mov_to_cr8 vmexit_inl_pmtimer  vmexit_ipi vmexit_ipi_halt
      vmexit_ple_round_robin vmexit_tscdeadline vmexit_tscdeadline_immed
      eventinj msr port80 setjmp syscall tsc rmap_chain umip intel_iommu
#2 lore raw
Quoted 9 lines · Paolo Bonzini
Quoted 8 lines · Thomas Huth

Thank to the recent fixes, there are now quite a lot of additional 32-bit x86 tests that we can run in the CI.
And thanks to the update to Fedora 32 (that introduced a newer version of QEMU), there are now also some additional tests that we can run with TCG for the other architectures.
Note that for arm/aarch64, we now also set the MAX_SMP to be able to run SMP-tests with TCG in the single-threaded CI containers, too.

Quoted 8 lines
Quoted 4 lines

---
Note: taskswitch2 for 32-bit x86 is still broken, and thus has not been added back again. It used to work with F30 ... maybe it's a QEMU regression?

It's on my todo list to check. One thing (sorry about the constant nitpicking), should tests be listed one per line so that it's clearer when we add them?

I guess that's mostly a matter of taste, I think I slightly prefer the more condensed list to avoid that the test case definitions get too big... but if it bugs you, feel free to change it.

Quoted 1 line

But anyway I'm queuing this patch.

Thanks!
Thomas