x86: Add the setjmp test to the CI
Use a proper report() in the test instead of printf(), and add
it to the unittests.cfg and the CI yaml files.
Signed-off-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index fbf3328..ea1aeaf 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -67,7 +67,7 @@
ioapic-split ioapic 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 syscall tsc rmap_chain umip intel_iommu
+ eventinj msr port80 setjmp syscall tsc rmap_chain umip intel_iommu
| tee results.txt
- if grep -q FAIL results.txt ; then exit 1 ; fi
@@ -77,6 +77,6 @@
- ./configure --arch=i386
- make -j2
- ACCEL=tcg ./run_tests.sh
- eventinj port80 sieve tsc taskswitch taskswitch2 umip
+ eventinj port80 setjmp sieve tsc taskswitch taskswitch2 umip
| tee results.txt
- if grep -q FAIL results.txt ; then exit 1 ; fi
diff --git a/.travis.yml b/.travis.yml
index 75bcf08..53f8d7d 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -15,7 +15,7 @@
- BUILD_DIR="."
- TESTS="access asyncpf debug emulator ept hypercall hyperv_stimer
hyperv_synic idt_test intel_iommu ioapic ioapic-split
- kvmclock_test msr pcid rdpru realmode rmap_chain s3 umip"
+ kvmclock_test msr pcid rdpru realmode rmap_chain s3 setjmp umip"
- ACCEL="kvm"
- addons:
@@ -45,7 +45,7 @@
- BUILD_DIR="i386-builddir"
- TESTS="tsx-ctrl umip vmexit_cpuid vmexit_ipi vmexit_ipi_halt
vmexit_mov_from_cr8 vmexit_mov_to_cr8 vmexit_ple_round_robin
- vmexit_tscdeadline vmexit_tscdeadline_immed vmexit_vmcall"
+ vmexit_tscdeadline vmexit_tscdeadline_immed vmexit_vmcall setjmp"
- ACCEL="kvm"
- addons:
diff --git a/x86/setjmp.c b/x86/setjmp.c
index 1a848b4..cc411cd 100644
--- a/x86/setjmp.c
+++ b/x86/setjmp.c
@@ -14,13 +14,11 @@
int i;
i = setjmp(j);
- if (expected[index] != i) {
- printf("FAIL: actual %d / expected %d\n", i, expected[index]);
- return -1;
- }
+ report(expected[index] == i, "actual %d == expected %d",
+ i, expected[index]);
index++;
if (i + 1 < NUM_LONGJMPS)
longjmp(j, i + 1);
- return 0;
+ return report_summary();
}
diff --git a/x86/unittests.cfg b/x86/unittests.cfg
index e99b086..acdde10 100644
--- a/x86/unittests.cfg
+++ b/x86/unittests.cfg
@@ -171,6 +171,9 @@
[s3]
file = s3.flat
+[setjmp]
+file = setjmp.flat
+
[sieve]
file = sieve.flat
timeout = 180