On 11/03/2019 16.04, Andrew Jones wrote: > On Mon, Mar 11, 2019 at 01:40:33PM +0100, Thomas Huth wrote: >> On 11/03/2019 13.34, Andrew Jones wrote: >>> On Fri, Mar 01, 2019 at 07:39:15AM +0100, Thomas Huth wrote: >>>> When changing common code of the kvm-unit-tests, one should make sure that >>>> the tests still compile fine for all target architectures afterwards. But >>>> compiling kvm-unit-tests for all target architectures manually is cumbersome. >>>> For people like me who store their git trees on GitLab, this can be done >>>> automatically via a CI system instead. Using the .gitlab-ci.yml file, auto- >>>> matic builds are now triggered on each push to a kvm-unit-test repository on >>>> gitlab.com. Additionally, the script also runs the tests that can be executed >>>> with QEMU TCG (except for s390x, since the QEMU package of the CI container >>>> currently does not provide the required s390-ccw bios here). >>>> >>>> Signed-off-by: Thomas Huth <thuth@xxxxxxxxxx> >>>> --- >>>> An example output can be found here: >>>> https://gitlab.com/huth/kvm-unit-tests/pipelines/49788391 >>>> >>>> .gitlab-ci.yml | 78 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ >>>> 1 file changed, 78 insertions(+) >>>> create mode 100644 .gitlab-ci.yml >>>> >>>> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml >>>> new file mode 100644 >>>> index 0000000..bc6ca0e >>>> --- /dev/null >>>> +++ b/.gitlab-ci.yml >>>> @@ -0,0 +1,78 @@ >>>> +before_script: >>>> + - apt-get update -qq >>>> + - apt-get install -y -qq qemu-system >>>> + >>>> +build-aarch64: >>>> + script: >>>> + - apt-get install -y -qq gcc-aarch64-linux-gnu >>>> + - ./configure --arch=aarch64 --processor=arm64 >>> >>> If we're explicitly selecting the processor, then we should use the one >>> that configure will fix it up to. >>> >>> --processor=cortex-a57 >> >> ok ... or simply omit the --processor parameter? > > yeah, that's fine too. > >> >>>> + --cross-prefix=aarch64-linux-gnu- >>>> + - make -j2 >>>> + - ACCEL=tcg ./run_tests.sh >>>> + selftest-setup selftest-vectors-kernel selftest-vectors-user selftest-smp >>>> + pci-test gicv2-active gicv3-active timer >>> >>> Any reason to just pick the 'active' tests from the gic tests? And to drop >>> PMU and PSCI tests? >> >> The other tests were not working with TCG for me (and KVM is not >> available in these CI containers). > > I just tried on my notebook with tcg and see the gicv2-mmio tests fail. I > now recall they always failed on tcg, so it's good to remove them. The > gicv?-ipi tests work though. I just kicked another CI build, and with the gitlab container, they are failing: https://gitlab.com/huth/kvm-unit-tests/-/jobs/175400544 https://gitlab.com/huth/kvm-unit-tests/-/jobs/175400545 Maybe it's due to the old version of QEMU that is used there (v2.8) ? > I also see that on arm the pmu test is segfaulting. That one works on gitlab :-) > The PSCI tests worked for me on both arm and aarch64. They are marked as SKIP on gitlab. I can keep them in the list, that should not harm, then it gets at least tested if they ever bump the version of QEMU that is available there... > It also looks like that since the qemu switch to kconfig we no longer > build pci-testdev for arm/aarch64. So pci-test is just resulting in SKIP > now. Yes, that's still missing, indeed ... I can add it to my " Kconfig dependencies for ARM machines" series, but I'm afraid it will likely miss the 4.0 softfreeze deadline tomorrow. Maybe better you send a CONFIG_TEST_DEVICES=y patch for default-configs/arm-softmmu.mak instead... Thomas