In my Out-Of-Band test, "check -qcow2 060" fail with this (the output is
manually changed due to line width requirement):
060 5s ... - output mismatch (see 060.out.bad)
--- /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 <peterx@redhat.com>
Signed-off-by: Peter Xu <peterx@redhat.com>
---
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}}
--
2.17.1
Peter Xu <peterx@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):
>
> 060 5s ... - output mismatch (see 060.out.bad)
> --- /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}}
Please indent this diff; I'd expect git-am to choke on it.
>
> 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 <peterx@redhat.com>
On Tue, Jun 19, 2018 at 03:57:07PM +0200, Markus Armbruster wrote:
> Peter Xu <peterx@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):
> >
> > 060 5s ... - output mismatch (see 060.out.bad)
> > --- /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}}
>
> Please indent this diff; I'd expect git-am to choke on it.
Do you mean something like pretty-JSON?
How about I remove this chunk too? What do you prefer?
>
> >
> > 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 <peterx@redhat.com>
Regards,
--
Peter Xu
Peter Xu <peterx@redhat.com> writes:
> On Tue, Jun 19, 2018 at 03:57:07PM +0200, Markus Armbruster wrote:
>> Peter Xu <peterx@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):
>> >
>> > 060 5s ... - output mismatch (see 060.out.bad)
>> > --- /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}}
>>
>> Please indent this diff; I'd expect git-am to choke on it.
>
> Do you mean something like pretty-JSON?
Instead of
In my Out-Of-Band test, "check -qcow2 060" fail with this (the output is
manually changed due to line width requirement):
060 5s ... - output mismatch (see 060.out.bad)
--- /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": {}}
write
In my Out-Of-Band test, "check -qcow2 060" fail with this (the output is
manually changed due to line width requirement):
060 5s ... - output mismatch (see 060.out.bad)
--- /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": {}}
The former confuses git-am.
In other words, quote diff output verbatim, but indent your quote.
> How about I remove this chunk too? What do you prefer?
I rather like having the test failure details in the commit message.
[...]
On Wed, Jun 20, 2018 at 09:12:57AM +0200, Markus Armbruster wrote:
> Peter Xu <peterx@redhat.com> writes:
>
> > On Tue, Jun 19, 2018 at 03:57:07PM +0200, Markus Armbruster wrote:
> >> Peter Xu <peterx@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):
> >> >
> >> > 060 5s ... - output mismatch (see 060.out.bad)
> >> > --- /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}}
> >>
> >> Please indent this diff; I'd expect git-am to choke on it.
> >
> > Do you mean something like pretty-JSON?
>
> Instead of
>
> In my Out-Of-Band test, "check -qcow2 060" fail with this (the output is
> manually changed due to line width requirement):
>
> 060 5s ... - output mismatch (see 060.out.bad)
> --- /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": {}}
>
> write
>
> In my Out-Of-Band test, "check -qcow2 060" fail with this (the output is
> manually changed due to line width requirement):
>
> 060 5s ... - output mismatch (see 060.out.bad)
> --- /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": {}}
>
> The former confuses git-am.
>
> In other words, quote diff output verbatim, but indent your quote.
>
> > How about I remove this chunk too? What do you prefer?
>
> I rather like having the test failure details in the commit message.
Ah I see. I'll keep them then.
Thanks,
--
Peter Xu
© 2016 - 2026 Red Hat, Inc.