The main goal of this series is to get the I/O tests passing 100% with LUKS when run with './check -luks'.
In testing this I noticed that test timings are cached across runs with different block backends which is very misleading. It adds a few more combinations to the LUKS/dmcrypt interoperability test. To make LUKS testing not quite as slow, we drop the PBKDF iteration count down to a very small value. This doesn't remove all overhead, as formatting the volume will always measure PBKDF timing over a 1 second interval. Finally I've been trying to get I/O tests working under travis and hitting a tonne of non-deterministic failures, even with qcow2 format. I've put one easy fix at the end, but there are more needed. If anyone fancies testing travis more, the config change I was experimenting with is diff --git a/.travis.yml b/.travis.yml index f30b10e..7b5fe92 100644 --- a/.travis.yml +++ b/.travis.yml @@ -33,6 +33,7 @@ addons: - libvte-2.90-dev - sparse - uuid-dev + - bc # The channel name "irc.oftc.net#qemu" is encrypted against qemu/qemu # to prevent IRC notifications from forks. This was created using: @@ -64,7 +65,7 @@ before_install: before_script: - ./configure ${CONFIG} script: - - make -j3 && ${TEST_CMD} + - make -j3 && eval ${TEST_CMD} matrix: include: # gprof/gcov are GCC features @@ -86,6 +87,16 @@ matrix: - env: CONFIG="--with-coroutine=gthread" TEST_CMD="" compiler: gcc + - env: CONFIG="--target-list=x86_64-softmmu" + TEST_CMD="cd tests/qemu-iotests && ./check -luks" + compiler: gcc + sudo: required + - env: CONFIG="--target-list=x86_64-softmmu" + TEST_CMD="cd tests/qemu-iotests && ./check -raw" + compiler: gcc + - env: CONFIG="--target-list=x86_64-softmmu" + TEST_CMD="cd tests/qemu-iotests && ./check -qcow2" + compiler: gcc - env: CONFIG="" os: osx compiler: clang All three tests - luks, raw and qcow2 - will randomly fail very often when run on public travis infra IME :-( Daniel P. Berrange (6): iotests: throw away test timings if args change iotests: fix remainining tests to work with LUKS iotests: reduce PBKDF iterations when testing LUKS iotests: add more LUKS hash combination tests iotests: chown LUKS device before qemu-io launches iotests: use _filter_qemu with test 140 tests/qemu-iotests/033 | 16 +- tests/qemu-iotests/120 | 25 +- tests/qemu-iotests/140 | 17 +- tests/qemu-iotests/145 | 18 +- tests/qemu-iotests/149 | 26 +- tests/qemu-iotests/149.out | 1002 ++++++++++++++++++++++++++++---------- tests/qemu-iotests/157 | 17 +- tests/qemu-iotests/157.out | 16 +- tests/qemu-iotests/check | 21 +- tests/qemu-iotests/common.filter | 3 +- tests/qemu-iotests/common.rc | 3 + 11 files changed, 865 insertions(+), 299 deletions(-) -- 2.7.4