Peter Xu <pet...@redhat.com> writes: > In my Out-Of-Band test, "check -qcow2 060" fail with this (the output is > manually changed due to line width requirement):
I think the output is no longer wrapped. Can drop the parenthesis when I apply. > --- /home/peterx/git/qemu/tests/qemu-iotests/060.out > +++ /home/peterx/git/qemu/bin/tests/qemu-iotests/060.out.bad > @@ -427,8 +427,8 @@ > QMP_VERSION > {"return": {}} > qcow2: Image is corrupt: L2 table offset 0x2a2a2a00 unaligned (L1 > index: 0); further non-fatal corruption events will be suppressed > -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": > "BLOCK_IMAGE_CORRUPTED", "data": {"device": "", "msg": "L2 table offset > 0x2a2a2a0 > 0 unaligned (L1 index: 0)", "node-name": "drive", "fatal": false}} > read failed: Input/output error > +{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": > "BLOCK_IMAGE_CORRUPTED", "data": {"device": "", "msg": "L2 table offset > 0x2a2a2a0 > 0 unaligned (L1 index: 0)", "node-name": "drive", "fatal": false}} > {"return": ""} > {"return": {}} > {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, > "event": "SHUTDOWN", "data": {"guest": false}} > > The order of the event and the in/out error line is swapped. I didn't > dig up the reason, but AFAIU what we want to verify is the event rather > than stderr. Let's drop the stderr line directly for this test. > > Signed-off-by: Peter Xu <pet...@redhat.com> Max, may I have your R-by? > --- > tests/qemu-iotests/060 | 10 +++++++++- > tests/qemu-iotests/060.out | 1 - > 2 files changed, 9 insertions(+), 2 deletions(-) > > diff --git a/tests/qemu-iotests/060 b/tests/qemu-iotests/060 > index 7bdf609f3f..74ad371885 100755 > --- a/tests/qemu-iotests/060 > +++ b/tests/qemu-iotests/060 > @@ -33,6 +33,14 @@ _cleanup() > } > trap "_cleanup; exit \$status" 0 1 2 3 15 > > +# Sometimes the error line might be dumped before/after an event > +# randomly. Mask it out for specific test that may trigger this > +# uncertainty for current test for now. > +_filter_io_error() > +{ > + sed '/Input\/output error/d' > +} > + > # get standard environment, filters and checks > . ./common.rc > . ./common.filter > @@ -464,7 +472,7 @@ echo "{'execute': 'qmp_capabilities'} > }}" \ > -incoming exec:'cat /dev/null' \ > 2>&1 \ > - | _filter_qmp | _filter_qemu_io > + | _filter_qmp | _filter_qemu_io | _filter_io_error > > echo > # Image should not have been marked corrupt > diff --git a/tests/qemu-iotests/060.out b/tests/qemu-iotests/060.out > index bff023d889..d67c6234a4 100644 > --- a/tests/qemu-iotests/060.out > +++ b/tests/qemu-iotests/060.out > @@ -428,7 +428,6 @@ QMP_VERSION > {"return": {}} > qcow2: Image is corrupt: L2 table offset 0x2a2a2a00 unaligned (L1 index: 0); > further non-fatal corruption events will be suppressed > {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": > "BLOCK_IMAGE_CORRUPTED", "data": {"device": "", "msg": "L2 table offset > 0x2a2a2a00 unaligned (L1 index: 0)", "node-name": "drive", "fatal": false}} > -read failed: Input/output error > {"return": ""} > {"return": {}} > {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": > "SHUTDOWN", "data": {"guest": false}}