diff mbox

[0/6] Improve I/O tests coverage of LUKS

Message ID 1474306544-24708-1-git-send-email-berrange@redhat.com
State New
Headers show

Commit Message

Daniel P. Berrangé Sept. 19, 2016, 5:35 p.m. UTC
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


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(-)
diff mbox

Patch

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