xref: /kvm-unit-tests/.travis.yml (revision cf251b7106d54ef239ad0f34a3dbc9716b9f9ffe)
1sudo: true
2dist: bionic
3language: c
4cache: ccache
5git:
6  submodules: false
7
8matrix:
9  include:
10
11    - addons:
12        apt_packages: gcc qemu-system-x86
13      env:
14      - CONFIG=""
15      - BUILD_DIR="."
16      - TESTS="access asyncpf debug emulator ept hypercall hyperv_stimer
17               hyperv_synic idt_test intel_iommu ioapic ioapic-split
18               kvmclock_test msr pcid rdpru realmode rmap_chain s3 setjmp umip"
19      - ACCEL="kvm"
20
21    - addons:
22        apt_packages: gcc qemu-system-x86
23      env:
24      - CONFIG=""
25      - BUILD_DIR="x86-builddir"
26      - TESTS="smptest smptest3 tsc tsc_adjust xsave vmexit_cpuid vmexit_vmcall
27               sieve vmexit_inl_pmtimer vmexit_ipi_halt vmexit_mov_from_cr8
28               vmexit_mov_to_cr8 vmexit_ple_round_robin vmexit_tscdeadline
29               vmexit_tscdeadline_immed  vmx_apic_passthrough_thread syscall"
30      - ACCEL="kvm"
31
32    - addons:
33        apt_packages: gcc gcc-multilib qemu-system-x86
34      env:
35      - CONFIG="--arch=i386"
36      - BUILD_DIR="."
37      - TESTS="asyncpf hyperv_stimer hyperv_synic kvmclock_test msr pmu realmode
38               s3 sieve smap smptest smptest3 taskswitch taskswitch2 tsc_adjust"
39      - ACCEL="kvm"
40
41    - addons:
42        apt_packages: gcc gcc-multilib qemu-system-x86
43      env:
44      - CONFIG="--arch=i386"
45      - BUILD_DIR="i386-builddir"
46      - TESTS="cmpxchg8b tsx-ctrl umip vmexit_cpuid vmexit_ipi vmexit_ipi_halt
47               vmexit_mov_from_cr8 vmexit_mov_to_cr8 vmexit_ple_round_robin
48               vmexit_tscdeadline vmexit_tscdeadline_immed vmexit_vmcall setjmp"
49      - ACCEL="kvm"
50
51    - addons:
52        apt_packages: gcc-arm-linux-gnueabihf qemu-system-arm
53      env:
54      - CONFIG="--arch=arm --cross-prefix=arm-linux-gnueabihf-"
55      - BUILD_DIR="."
56      - TESTS="selftest-vectors-kernel selftest-vectors-user selftest-smp"
57
58    - addons:
59        apt_packages: gcc-arm-linux-gnueabihf qemu-system-arm
60      env:
61      - CONFIG="--arch=arm --cross-prefix=arm-linux-gnueabihf-"
62      - BUILD_DIR="arm-buildir"
63      - TESTS="pci-test pmu gicv2-active gicv3-active psci selftest-setup"
64
65    - addons:
66        apt_packages: gcc-aarch64-linux-gnu qemu-system-aarch64
67      env:
68      - CONFIG="--arch=arm64 --cross-prefix=aarch64-linux-gnu-"
69      - BUILD_DIR="."
70      - TESTS="selftest-vectors-kernel selftest-vectors-user selftest-smp"
71
72    - addons:
73        apt_packages: gcc-aarch64-linux-gnu qemu-system-aarch64
74      env:
75      - CONFIG="--arch=arm64 --cross-prefix=aarch64-linux-gnu-"
76      - BUILD_DIR="arm64-buildir"
77      - TESTS="pci-test pmu gicv2-active gicv3-active psci timer selftest-setup"
78
79    - addons:
80        apt_packages: gcc-powerpc64le-linux-gnu qemu-system-ppc
81      env:
82      - CONFIG="--arch=ppc64 --endian=little --cross-prefix=powerpc64le-linux-gnu-"
83      - BUILD_DIR="."
84      - TESTS="spapr_hcall emulator rtas-set-time-of-day"
85      - ACCEL="tcg,cap-htm=off"
86
87    - addons:
88        apt_packages: gcc-powerpc64le-linux-gnu qemu-system-ppc
89      env:
90      - CONFIG="--arch=ppc64 --endian=little --cross-prefix=powerpc64le-linux-gnu-"
91      - BUILD_DIR="ppc64le-buildir"
92      - TESTS="rtas-get-time-of-day rtas-get-time-of-day-base"
93      - ACCEL="tcg,cap-htm=off"
94
95    - addons:
96        apt_packages: gcc-s390x-linux-gnu qemu-system-s390x
97      env:
98      - CONFIG="--arch=s390x --cross-prefix=s390x-linux-gnu-"
99      - BUILD_DIR="."
100      - TESTS="diag10 diag308"
101      - ACCEL="tcg,firmware=s390x/run"
102
103    - addons:
104        apt_packages: gcc-s390x-linux-gnu qemu-system-s390x
105      env:
106      - CONFIG="--arch=s390x --cross-prefix=s390x-linux-gnu-"
107      - BUILD_DIR="s390x-builddir"
108      - TESTS="sieve"
109      - ACCEL="tcg,firmware=s390x/run"
110
111before_script:
112  - if [ "$ACCEL" = "kvm" ]; then
113      sudo chgrp kvm /usr/bin/qemu-system-* ;
114      sudo chmod g+s /usr/bin/qemu-system-* ;
115    fi
116  - mkdir -p $BUILD_DIR && cd $BUILD_DIR
117  - if [ -e ./configure ]; then ./configure $CONFIG ; fi
118  - if [ -e ../configure ]; then ../configure $CONFIG ; fi
119script:
120  - make -j3
121  - ACCEL="${ACCEL:-tcg}" ./run_tests.sh -v $TESTS | tee results.txt
122  - if grep -q FAIL results.txt ; then exit 1 ; fi
123  - if ! grep -q PASS results.txt ; then exit 1 ; fi
124