185 can sometimes produce wrong output like this: ========================================= 185 2s ... - output mismatch (see 185.out.bad) --- /work/src/qemu/master/tests/qemu-iotests/185.out 2017-07-14 \ 15:14:29.520343805 +0300 +++ 185.out.bad 2017-08-07 16:51:02.231922900 +0300 @@ -37,7 +37,7 @@ {"return": {}} {"return": {}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, \ "event": "SHUTDOWN", "data": {"guest": false}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, \ "event": "BLOCK_JOB_CANCELLED", "data": {"device": "disk", \ "len": 4194304, "offset": 4194304, "speed": 65536, "type": \ "mirror"}} +{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, \ "event": "BLOCK_JOB_CANCELLED", "data": {"device": "disk", \ "len": 0, "offset": 0, "speed": 65536, "type": "mirror"}}
=== Start backup job and exit qemu === Failures: 185 Failed 1 of 1 tests ========================================= This is because quite happens before first mirror request is done (and, in specified case, even before block-job len field is set). To prevent it let's just add a sleep for 0.3 seconds before quite. Signed-off-by: Vladimir Sementsov-Ogievskiy <vsement...@virtuozzo.com> --- v2: just add a sleep instead of filtering output (proposed by Kevin) tests/qemu-iotests/185 | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tests/qemu-iotests/185 b/tests/qemu-iotests/185 index 0eda371f27..f5b47e4c1a 100755 --- a/tests/qemu-iotests/185 +++ b/tests/qemu-iotests/185 @@ -156,6 +156,10 @@ _send_qemu_cmd $h \ 'speed': 65536 } }" \ "return" +# If we don't sleep here 'quit' command may be handled before +# the first mirror iteration is done +sleep 0.5 + _send_qemu_cmd $h "{ 'execute': 'quit' }" "return" wait=1 _cleanup_qemu -- 2.11.1