Travis nowadays supports KVM in their CI pipelines, so we can finally run the kvm-unit-tests with KVM instead of TCG here. Unfortunately, there are some quirks: First, the QEMU binary has to be running as root, otherwise you get an "permission denied" error here - even if you fix up the access permissions to /dev/kvm first. Second, not all x86 tests are working in this environment, so we still have to manually select the test set here (but the amount of tests is definitely higher now than what we were able to run with TCG before). Signed-off-by: Thomas Huth <thuth@xxxxxxxxxx> --- .travis.yml | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/.travis.yml b/.travis.yml index 3f5b5ee..f91118c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,4 +1,4 @@ -sudo: false +sudo: true dist: bionic language: c cache: ccache @@ -13,16 +13,21 @@ matrix: env: - CONFIG="" - BUILD_DIR="." - - TESTS="vmexit_cpuid vmexit_mov_from_cr8 vmexit_mov_to_cr8 vmexit_ipi - vmexit_ple_round_robin vmexit_tscdeadline vmexit_tscdeadline_immed" + - 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" + - ACCEL="kvm" - addons: apt_packages: gcc qemu-system-x86 env: - CONFIG="" - BUILD_DIR="x86-builddir" - - TESTS="ioapic-split ioapic smptest smptest3 eventinj msr port80 syscall - tsc rmap_chain umip intel_iommu vmexit_inl_pmtimer vmexit_ipi_halt" + - TESTS="smptest smptest3 tsc tsc_adjust xsave vmexit_cpuid vmexit_vmcall + sieve vmexit_inl_pmtimer vmexit_ipi_halt vmexit_mov_from_cr8 + vmexit_mov_to_cr8 vmexit_ple_round_robin vmexit_tscdeadline + vmexit_tscdeadline_immed vmx_apic_passthrough_thread syscall" + - ACCEL="kvm" - addons: apt_packages: gcc-arm-linux-gnueabihf qemu-system-arm @@ -85,6 +90,9 @@ matrix: - ACCEL="tcg,firmware=s390x/run" before_script: + - if [ "$ACCEL" = "kvm" ]; then + sudo chmod u+s /usr/bin/qemu-system-* ; + fi - mkdir -p $BUILD_DIR && cd $BUILD_DIR - if [ -e ./configure ]; then ./configure $CONFIG ; fi - if [ -e ../configure ]; then ../configure $CONFIG ; fi -- 2.23.0