From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:50123) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YKpRb-0008Us-Rp for qemu-devel@nongnu.org; Mon, 09 Feb 2015 09:36:15 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YKpRW-0005lZ-PG for qemu-devel@nongnu.org; Mon, 09 Feb 2015 09:36:11 -0500 Received: from mx1.redhat.com ([209.132.183.28]:33416) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YKpRW-0005io-4t for qemu-devel@nongnu.org; Mon, 09 Feb 2015 09:36:06 -0500 Message-ID: <54D8C5CD.5020907@redhat.com> Date: Mon, 09 Feb 2015 09:35:57 -0500 From: Max Reitz MIME-Version: 1.0 References: <1423107872-3268-1-git-send-email-chenxg@linux.vnet.ibm.com> <1423107872-3268-6-git-send-email-chenxg@linux.vnet.ibm.com> <54D38823.2050709@redhat.com> <54D86A68.9020203@linux.vnet.ibm.com> In-Reply-To: <54D86A68.9020203@linux.vnet.ibm.com> Content-Type: multipart/alternative; boundary="------------090101010808060907040000" Subject: Re: [Qemu-devel] [PATCH RFC v4 5/6] qemu-iotests: s390x: fix test 051 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: chen xiao guang , qemu-devel@nongnu.org Cc: kwolf@redhat.com, mimu@linux.vnet.ibm.com, armbru@redhat.com This is a multi-part message in MIME format. --------------090101010808060907040000 Content-Type: text/plain; charset=iso-8859-15; format=flowed Content-Transfer-Encoding: 7bit On 2015-02-09 at 03:06, chen xiao guang wrote: > > On 02/05/2015 11:11 PM, Max Reitz wrote: >> On 2015-02-04 at 22:44, Xiao Guang Chen wrote: >>> From: Mao Chuan Li >>> >>> The tests for device type "ide_cd" are skipped for the s390 platform. >>> The default device id of hard disk on the s390 platform differs to that >>> of the x86 platform. A new variable device_id is defined and "virtio0" >>> set for the s390 platform. A s390 platform specific output file is also >>> needed. >>> >>> Reviewed-by: Michael Mueller >>> Signed-off-by: Mao Chuan Li >>> --- >>> tests/qemu-iotests/051 | 91 +++++--- >>> tests/qemu-iotests/051.s390-virtio.out | 377 >>> +++++++++++++++++++++++++++++++++ >>> 2 files changed, 439 insertions(+), 29 deletions(-) >>> create mode 100644 tests/qemu-iotests/051.s390-virtio.out >> >> First: This patch contains lines which are too long to be sent via >> email (they are broken up and thus the patch needs manual fixup by >> the reviewers). If you could specify a public repository where we >> could pull from, that may be helpful to the reviewers. > I can not find a public repository. Do you have other options? > Or I manually split the long lines into small ones only for review. > But it will not work if you apply the patch. Well, in that case, better leave it as it is; I have a script for "fixing" the patch, so as far as I'm concerned, it's fine. >> >> Second: I'm not sure whether s390-virtio should be the special case >> here. Maybe "pc" is the platform that is actually special because it >> contains a floppy drive, an IDE CD drive and so on. So while this >> patch is (nearly?) correct, it may make more sense to move 051.out to >> 051.pc.out and modify the current 051.out to be what is >> 051.s390-virtio.out in this patch. >> > OK. >> In the same way, maybe all the conditionals in this series (not just >> this patch) which check whether the machine type is s390-virtio >> should maybe instead check whether the machine type is not pc. > OK. >> >> However, the problem with the pc machine type is that >> QEMU_DEFAULT_MACHINE will be version-dependent (currently, it's >> pc-i440fx-2.3), so that would require a workaround. >> > When we run the qemu-system-x86_64 -machine ? we will get the > following output: > Supported machines are: > pc Standard PC (i440FX + PIIX, 1996) (alias of > pc-i440fx-2.3) > pc-i440fx-2.3 Standard PC (i440FX + PIIX, 1996) (default) > pc-i440fx-2.2 Standard PC (i440FX + PIIX, 1996) > pc-i440fx-2.1 Standard PC (i440FX + PIIX, 1996) > ...... > > We can get the default machine:pc-i440fx-2.3 and the alias of the > default machine:pc. > If the default machine has an alias then we use the alias otherwise we > use the default machine. > > *qemu/tests/qemu-iotests/common.config:* > /default_machine=$($QEMU -machine \? | awk '/(default)/{print $1}')// > //default_alias_machine=$($QEMU -machine \? |\// > // awk -v var_default_machine=$default_machine\)\// > // '{if > ($(NF-2)=="(alias"&&$(NF-1)=="of"&&$(NF)==var_default_machine){print > $1}}')// > //if [ ! -z "$default_alias_machine" ]//; then > // default_machine="$default_alias_machine"// > fi > //export QEMU_DEFAULT_MACHINE=$default_machine/ > > How about this change? I don't know awk, but assuming it works it looks good to me. Max >> [snip] >> >>> diff --git a/tests/qemu-iotests/051.s390-virtio.out >>> b/tests/qemu-iotests/051.s390-virtio.out >>> new file mode 100644 >>> index 0000000..751670f >>> --- /dev/null >>> +++ b/tests/qemu-iotests/051.s390-virtio.out >>> @@ -0,0 +1,377 @@ >>> +QA output created by 051 >>> +Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 >>> +Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 >>> backing_file='TEST_DIR/t.IMGFMT.base' >>> + >>> +=== Unknown option === >>> + >>> +Testing: -drive file=TEST_DIR/t.qcow2,format=qcow2,unknown_opt= >>> +QEMU_PROG: -drive file=TEST_DIR/t.qcow2,format=qcow2,unknown_opt=: >>> could not open disk image TEST_DIR/t.qcow2: Block format 'qcow2' >>> used by device 'virtio0' doesn't support the option 'unknown_opt' >>> + >>> +Testing: -drive file=TEST_DIR/t.qcow2,format=qcow2,unknown_opt=on >>> +QEMU_PROG: -drive >>> file=TEST_DIR/t.qcow2,format=qcow2,unknown_opt=on: could not open >>> disk image TEST_DIR/t.qcow2: Block format 'qcow2' used by device >>> 'virtio0' doesn't support the option 'unknown_opt' >>> + >>> +Testing: -drive file=TEST_DIR/t.qcow2,format=qcow2,unknown_opt=1234 >>> +QEMU_PROG: -drive >>> file=TEST_DIR/t.qcow2,format=qcow2,unknown_opt=1234: could not open >>> disk image TEST_DIR/t.qcow2: Block format 'qcow2' used by device >>> 'virtio0' doesn't support the option 'unknown_opt' >>> + >>> +Testing: -drive file=TEST_DIR/t.qcow2,format=qcow2,unknown_opt=foo >>> +QEMU_PROG: -drive >>> file=TEST_DIR/t.qcow2,format=qcow2,unknown_opt=foo: could not open >>> disk image TEST_DIR/t.qcow2: Block format 'qcow2' used by device >>> 'virtio0' doesn't support the option 'unknown_opt' >>> + >>> + >>> +=== Unknown protocol option === >>> + >>> +Testing: -drive file=TEST_DIR/t.qcow2,format=qcow2,file.unknown_opt= >>> +QEMU_PROG: -drive >>> file=TEST_DIR/t.qcow2,format=qcow2,file.unknown_opt=: could not open >>> disk image TEST_DIR/t.qcow2: Block protocol 'file' doesn't support >>> the option 'unknown_opt' >>> + >>> +Testing: -drive file=TEST_DIR/t.qcow2,format=qcow2,file.unknown_opt=on >>> +QEMU_PROG: -drive >>> file=TEST_DIR/t.qcow2,format=qcow2,file.unknown_opt=on: could not >>> open disk image TEST_DIR/t.qcow2: Block protocol 'file' doesn't >>> support the option 'unknown_opt' >>> + >>> +Testing: -drive >>> file=TEST_DIR/t.qcow2,format=qcow2,file.unknown_opt=1234 >>> +QEMU_PROG: -drive >>> file=TEST_DIR/t.qcow2,format=qcow2,file.unknown_opt=1234: could not >>> open disk image TEST_DIR/t.qcow2: Block protocol 'file' doesn't >>> support the option 'unknown_opt' >>> + >>> +Testing: -drive >>> file=TEST_DIR/t.qcow2,format=qcow2,file.unknown_opt=foo >>> +QEMU_PROG: -drive >>> file=TEST_DIR/t.qcow2,format=qcow2,file.unknown_opt=foo: could not >>> open disk image TEST_DIR/t.qcow2: Block protocol 'file' doesn't >>> support the option 'unknown_opt' >>> + >>> + >>> +=== Invalid format === >>> + >>> +Testing: -drive file=TEST_DIR/t.qcow2,format=foo >>> +QEMU_PROG: -drive file=TEST_DIR/t.qcow2,format=foo: 'foo' invalid >>> format >>> + >>> +Testing: -drive file=TEST_DIR/t.qcow2,driver=foo >>> +QEMU_PROG: -drive file=TEST_DIR/t.qcow2,driver=foo: could not open >>> disk image TEST_DIR/t.qcow2: Unknown driver 'foo' >>> + >>> +Testing: -drive file=TEST_DIR/t.qcow2,driver=raw,format=qcow2 >>> +QEMU_PROG: -drive file=TEST_DIR/t.qcow2,driver=raw,format=qcow2: >>> could not open disk image TEST_DIR/t.qcow2: Driver specified twice >>> + >>> + >>> +=== Overriding backing file === >>> + >>> +Testing: -drive >>> file=TEST_DIR/t.qcow2,driver=qcow2,backing.file.filename=TEST_DIR/t.qcow2.orig >>> -nodefaults >>> +QEMU X.Y.Z monitor - type 'help' for more information >>> +(qemu) >>> iininfinfoinfo >>> info binfo >>> blinfo >>> bloinfo >>> blocinfo block >>> +virtio0: TEST_DIR/t.qcow2 (qcow2) >>> + Backing file: TEST_DIR/t.qcow2.orig (chain depth: 1) >>> +(qemu) qququiquit >>> + >>> +Testing: -drive >>> file=TEST_DIR/t.qcow2,driver=raw,backing.file.filename=TEST_DIR/t.qcow2.orig >>> +QEMU_PROG: -drive >>> file=TEST_DIR/t.qcow2,driver=raw,backing.file.filename=TEST_DIR/t.qcow2.orig: >>> could not open disk image TEST_DIR/t.qcow2: Driver doesn't support >>> backing files >>> + >>> +Testing: -drive >>> file=TEST_DIR/t.qcow2,file.backing.driver=file,file.backing.filename=TEST_DIR/t.qcow2.orig >>> +QEMU_PROG: -drive >>> file=TEST_DIR/t.qcow2,file.backing.driver=file,file.backing.filename=TEST_DIR/t.qcow2.orig: >>> could not open disk image TEST_DIR/t.qcow2: Driver doesn't support >>> backing files >>> + >>> +Testing: -drive >>> file=TEST_DIR/t.qcow2,file.backing.driver=qcow2,file.backing.file.filename=TEST_DIR/t.qcow2.orig >>> +QEMU_PROG: -drive >>> file=TEST_DIR/t.qcow2,file.backing.driver=qcow2,file.backing.file.filename=TEST_DIR/t.qcow2.orig: >>> could not open disk image TEST_DIR/t.qcow2: Driver doesn't support >>> backing files >>> + >>> + >>> +=== Enable and disable lazy refcounting on the command line, plus >>> some invalid values === >>> + >>> +Testing: -drive file=TEST_DIR/t.qcow2,format=qcow2,lazy-refcounts=on >>> +QEMU X.Y.Z monitor - type 'help' for more information >>> +(qemu) qququiquit >>> + >>> +Testing: -drive file=TEST_DIR/t.qcow2,format=qcow2,lazy-refcounts=off >>> +QEMU X.Y.Z monitor - type 'help' for more information >>> +(qemu) qququiquit >>> + >>> +Testing: -drive file=TEST_DIR/t.qcow2,format=qcow2,lazy-refcounts= >>> +QEMU_PROG: -drive >>> file=TEST_DIR/t.qcow2,format=qcow2,lazy-refcounts=: could not open >>> disk image TEST_DIR/t.qcow2: Parameter 'lazy-refcounts' expects 'on' >>> or 'off' >>> + >>> +Testing: -drive file=TEST_DIR/t.qcow2,format=qcow2,lazy-refcounts=42 >>> +QEMU_PROG: -drive >>> file=TEST_DIR/t.qcow2,format=qcow2,lazy-refcounts=42: could not open >>> disk image TEST_DIR/t.qcow2: Parameter 'lazy-refcounts' expects 'on' >>> or 'off' >>> + >>> +Testing: -drive file=TEST_DIR/t.qcow2,format=qcow2,lazy-refcounts=foo >>> +QEMU_PROG: -drive >>> file=TEST_DIR/t.qcow2,format=qcow2,lazy-refcounts=foo: could not >>> open disk image TEST_DIR/t.qcow2: Parameter 'lazy-refcounts' expects >>> 'on' or 'off' >>> + >>> + >>> +=== With version 2 images enabling lazy refcounts must fail === >>> + >>> +Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 >>> +Testing: -drive file=TEST_DIR/t.qcow2,format=qcow2,lazy-refcounts=on >>> +QEMU_PROG: -drive >>> file=TEST_DIR/t.qcow2,format=qcow2,lazy-refcounts=on: could not open >>> disk image TEST_DIR/t.qcow2: Lazy refcounts require a qcow2 image >>> with at least qemu 1.1 compatibility level >>> + >>> +Testing: -drive file=TEST_DIR/t.qcow2,format=qcow2,lazy-refcounts=off >>> +QEMU X.Y.Z monitor - type 'help' for more information >>> +(qemu) qququiquit >>> + >>> + >>> +=== No medium === >>> + >>> +Testing: -drive if=floppy >>> +QEMU X.Y.Z monitor - type 'help' for more information >>> +(qemu) Warning: Orphaned drive without device: >>> id=floppy0,file=,if=floppy,bus=0,unit=0 >>> +qququiquit >> >> Can't we get rid of these warnings somehow? If nothing else works, >> filter them out? > OK. >> >> [snip] >> >>> +=== Snapshot mode === >>> + >>> +wrote 4096/4096 bytes at offset 0 >>> +4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) >>> +Testing: -drive file=TEST_DIR/t.qcow2 -snapshot >>> +QEMU X.Y.Z monitor - type 'help' for more information >>> +(qemu) qqeqemqemuqemu-qemu-iqemu-ioqemu-io >>> qemu-io >>> vqemu-io >>> viqemu-io >>> virqemu-io virtqemu-io >>> virtiqemu-io virtioqemu-io >>> virtio0qemu-io virtio0 >>> qemu-io virtio0 "qemu-io >>> virtio0 >>> "wqemu-io >>> virtio0 >>> "wrqemu-io >>> virtio0 >>> "wriqemu-io >>> virtio0 >>> "writ! >>> qemu-io >>> virtio0 >>> "writeqemu-io >>> virtio0 "write >>> qemu-io >>> virtio0 "write >>> -qemu-io >>> virtio0 "write >>> -Pqemu-io >>> virtio0 "write >>> -P >>> qemu-io >>> virtio0 >>> "write -P >>> 0qemu-io >>> virtio0 >>> "write -P >>> 0xqemu-io >>> virtio0 >>> "write >>> -P >>> 0x2qemu-io >>> virtio0 "write -P 0x22qemu-io >>> virtio0 "wr! >>> >>> ite >>> -P >>> 0x22 >>> qemu-io >>> virtio0 "write -P 0x22 0qemu-io >>> virtio0 "write -P 0x22 0 qemu-io >>> virtio0 "write -P 0x22 0 4qemu-io >>> virtio0 "write -P 0x22 0 4kqemu-io >>> virtio0 "write -P 0x22 0 4k" >> >> This is an example of a line that got split into multiple lines in >> the email. It's fixable by the reviewer, but that requires work. :-) >> >> Max >> > --------------090101010808060907040000 Content-Type: text/html; charset=iso-8859-15 Content-Transfer-Encoding: quoted-printable X-MIME-Autoconverted: from 8bit to quoted-printable by mx1.redhat.com id t19Ea0T2002716
On 2015-02-09 at 03:06, chen xiao guan= g wrote:

On 02/05/2015 11:11 PM, Max Reitz wrote:
= On 2015-02-04 at 22:44, Xiao Guang Chen wrote:
From: Mao Chuan Li <maochuan@linu= x.vnet.ibm.com>

The tests for device type "ide_cd" are skipped for the s390 platform.
The default device id of hard disk on the s390 platform differs to that
of the x86 platform. A new variable device_id is defined and "virtio0"
set for the s390 platform. A s390 platform specific output file is also
needed.

Reviewed-by:=A0=A0 Michael Mueller <mimu@linux.vnet.i= bm.com>
Signed-off-by: Mao Chuan Li <maochuan@linu= x.vnet.ibm.com>
---
=A0 tests/qemu-iotests/051=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0 |=A0 91 +++++---
=A0 tests/qemu-iotests/051.s390-virtio.out | 377 +++++++++++++++++++++++++++++++++
=A0 2 files changed, 439 insertions(+), 29 deletions(-)
=A0 create mode 100644 tests/qemu-iotests/051.s390-virtio.out <= br>

First: This patch contains lines which are too long to be sent via email (they are broken up and thus the patch needs manual fixup by the reviewers). If you could specify a public repository where we could pull from, that may be helpful to the reviewers.
I can not find a public repository. Do you have other options?
Or I manually split the long lines into small ones only for review. But it will not work if you apply the patch.

Well, in that case, better leave it as it is; I have a script for "fixing" the patch, so as far as I'm concerned, it's fine.

=
Second: I'm not sure whether s390-virtio should be the special case here. Maybe "pc" is the platform that is actually special because it contains a floppy drive, an IDE CD drive and so on. So while this patch is (nearly?) correct, it may make more sense to move 051.out to 051.pc.out and modify the current 051.out to be what is 051.s390-virtio.out in this patch.

OK.
= In the same way, maybe all the conditionals in this series (not just this patch) which check whether the machine type is s390-virtio should maybe instead check whether the machine type is not pc.
OK.
=
However, the problem with the pc machine type is that QEMU_DEFAULT_MACHINE will be version-dependent (currently, it's pc-i440fx-2.3), so that would require a workaround.

When we run the qemu-system-x86_64 -machine ? we will get the following output:
Supported machines are:
pc=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 Standard P= C (i440FX + PIIX, 1996) (alias of pc-i440fx-2.3)
pc-i440fx-2.3=A0=A0=A0=A0=A0=A0=A0 Standard PC (i440FX + PIIX, 1996= ) (default)
pc-i440fx-2.2=A0=A0=A0=A0=A0=A0=A0 Standard PC (i440FX + PIIX, 1996= )
pc-i440fx-2.1=A0=A0=A0=A0=A0=A0=A0 Standard PC (i440FX + PIIX, 1996= )
......

We can get the default machine:pc-i440fx-2.3 and the alias of the default machine:pc.
If the default machine has an alias then we use the alias otherwise we use the default machine.

qemu/tests/qemu-iotests/common.config:
default_machine=3D$($QEMU -machine \? | awk '/(default)/{print $1}')
default_alias_machine=3D$($QEMU -machine \? |\
=A0=A0=A0 awk -v var_default_machine=3D$default_machine\)\
=A0=A0=A0 '{if ($(NF-2)=3D=3D"(alias"&&$(NF-1)=3D=3D"of"&&$(NF)=3D= =3Dvar_default_machine){print $1}}')
if [ ! -z "$default_alias_machine" ]; then
=A0=A0=A0 default_machine=3D"$default_alias_machine"<= br> fi
export QEMU_DEFAULT_MACHINE=3D$default_machine

How about this change?

I don't know awk, but assuming it works it looks good to me.

Max

= [snip]

diff --git a/tests/qemu-iotests/051.s390-virtio.out b/tests/qemu-iotests/051.s390-virtio.out
new file mode 100644
index 0000000..751670f
--- /dev/null
+++ b/tests/qemu-iotests/051.s390-virtio.out
@@ -0,0 +1,377 @@
+QA output created by 051
+Formatting 'TEST_DIR/t.IMGFMT', fmt=3DIMGFMT size=3D134217728 =
+Formatting 'TEST_DIR/t.IMGFMT', fmt=3DIMGFMT size=3D134217728 backing_file=3D'TEST_DIR/t.IMGFMT.base'
+
+=3D=3D=3D Unknown option =3D=3D=3D
+
+Testing: -drive file=3DTEST_DIR/t.qcow2,format=3Dqcow2,unknown_opt=3D
+QEMU_PROG: -drive file=3DTEST_DIR/t.qcow2,format=3Dqcow2,unknown_opt=3D: could no= t open disk image TEST_DIR/t.qcow2: Block format 'qcow2' used by device 'virtio0' doesn't support the option 'unknown_opt'
+
+Testing: -drive file=3DTEST_DIR/t.qcow2,format=3Dqcow2,unknown_opt=3Don
+QEMU_PROG: -drive file=3DTEST_DIR/t.qcow2,format=3Dqcow2,unknown_opt=3Don: could = not open disk image TEST_DIR/t.qcow2: Block format 'qcow2' used by device 'virtio0' doesn't support the option 'unknown_opt'
+
+Testing: -drive file=3DTEST_DIR/t.qcow2,format=3Dqcow2,unknown_opt=3D1234
+QEMU_PROG: -drive file=3DTEST_DIR/t.qcow2,format=3Dqcow2,unknown_opt=3D1234: coul= d not open disk image TEST_DIR/t.qcow2: Block format 'qcow2' used by device 'virtio0' doesn't support the option 'unknown_opt'
+
+Testing: -drive file=3DTEST_DIR/t.qcow2,format=3Dqcow2,unknown_opt=3Dfoo
+QEMU_PROG: -drive file=3DTEST_DIR/t.qcow2,format=3Dqcow2,unknown_opt=3Dfoo: could= not open disk image TEST_DIR/t.qcow2: Block format 'qcow2' used by device 'virtio0' doesn't support the option 'unknown_opt'
+
+
+=3D=3D=3D Unknown protocol option =3D=3D=3D
+
+Testing: -drive file=3DTEST_DIR/t.qcow2,format=3Dqcow2,file.unknown_opt=3D
+QEMU_PROG: -drive file=3DTEST_DIR/t.qcow2,format=3Dqcow2,file.unknown_opt=3D: cou= ld not open disk image TEST_DIR/t.qcow2: Block protocol 'file' doesn't support the option 'unknown_opt'
+
+Testing: -drive file=3DTEST_DIR/t.qcow2,format=3Dqcow2,file.unknown_opt=3Don +QEMU_PROG: -drive file=3DTEST_DIR/t.qcow2,format=3Dqcow2,file.unknown_opt=3Don: c= ould not open disk image TEST_DIR/t.qcow2: Block protocol 'file' doesn't support the option 'unknown_opt'
+
+Testing: -drive file=3DTEST_DIR/t.qcow2,format=3Dqcow2,file.unknown_opt=3D1234 =
+QEMU_PROG: -drive file=3DTEST_DIR/t.qcow2,format=3Dqcow2,file.unknown_opt=3D1234: could not open disk image TEST_DIR/t.qcow2: Block protocol 'file' doesn't support the option 'unknown_opt'
+
+Testing: -drive file=3DTEST_DIR/t.qcow2,format=3Dqcow2,file.unknown_opt=3Dfoo <= br> +QEMU_PROG: -drive file=3DTEST_DIR/t.qcow2,format=3Dqcow2,file.unknown_opt=3Dfoo: = could not open disk image TEST_DIR/t.qcow2: Block protocol 'file' doesn't support the option 'unknown_opt'
+
+
+=3D=3D=3D Invalid format =3D=3D=3D
+
+Testing: -drive file=3DTEST_DIR/t.qcow2,format=3Dfoo
+QEMU_PROG: -drive file=3DTEST_DIR/t.qcow2,format=3Dfoo: 'foo' invalid format
+
+Testing: -drive file=3DTEST_DIR/t.qcow2,driver=3Dfoo
+QEMU_PROG: -drive file=3DTEST_DIR/t.qcow2,driver=3Dfoo: could = not open disk image TEST_DIR/t.qcow2: Unknown driver 'foo'
+
+Testing: -drive file=3DTEST_DIR/t.qcow2,driver=3Draw,format=3D= qcow2
+QEMU_PROG: -drive file=3DTEST_DIR/t.qcow2,driver=3Draw,format=3Dqcow2: could not = open disk image TEST_DIR/t.qcow2: Driver specified twice
+
+
+=3D=3D=3D Overriding backing file =3D=3D=3D
+
+Testing: -drive file=3DTEST_DIR/t.qcow2,driver=3Dqcow2,backing.file.filename=3D= TEST_DIR/t.qcow2.orig -nodefaults
+QEMU X.Y.Z monitor - type 'help' for more information
+(qemu) i=1B[K=1B[Din=1B[K=1B[D=1B[Dinf=1B[K=1B[D=1B[D=1B[Dinfo=1B[K=1B= [D=1B[D=1B[D=1B[Dinfo =1B[K=1B[D=1B[D=1B[D=1B[D=1B[Dinfo b=1B[K=1B[D=1B[D=1B[D=1B[D=1B= [D=1B[Dinfo bl=1B[K=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[Dinfo blo=1B[K=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[Dinfo bloc=1B[K=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[Dinfo bloc= k=1B[K
+virtio0: TEST_DIR/t.qcow2 (qcow2)
+=A0=A0=A0 Backing file:=A0=A0=A0=A0 TEST_DIR/t.qcow2.orig (cha= in depth: 1)
+(qemu) q=1B[K=1B[Dqu=1B[K=1B[D=1B[Dqui=1B[K=1B[D=1B[D=1B[Dquit= =1B[K
+
+Testing: -drive file=3DTEST_DIR/t.qcow2,driver=3Draw,backing.file.filename=3DTEST_DIR/t.q= cow2.orig
+QEMU_PROG: -drive file=3DTEST_DIR/t.qcow2,driver=3Draw,backing.file.filename=3DTE= ST_DIR/t.qcow2.orig: could not open disk image TEST_DIR/t.qcow2: Driver doesn't support backing files
+
+Testing: -drive file=3DTEST_DIR/t.qcow2,file.backing.driver=3Dfile,file.backing.filename=3D= TEST_DIR/t.qcow2.orig
+QEMU_PROG: -drive file=3DTEST_DIR/t.qcow2,file.backing.driver=3Dfile,file.backing= .filename=3DTEST_DIR/t.qcow2.orig: could not open disk image TEST_DIR/t.qcow2: Driver doesn't support backing files
+
+Testing: -drive file=3DTEST_DIR/t.qcow2,file.backing.driver=3Dqcow2,file.backing.file.fil= ename=3DTEST_DIR/t.qcow2.orig
+QEMU_PROG: -drive file=3DTEST_DIR/t.qcow2,file.backing.driver=3Dqcow2,file.backin= g.file.filename=3DTEST_DIR/t.qcow2.orig: could not open disk image TEST_DIR/t.qcow2: Driver doesn't support backing files
+
+
+=3D=3D=3D Enable and disable lazy refcounting on the command l= ine, plus some invalid values =3D=3D=3D
+
+Testing: -drive file=3DTEST_DIR/t.qcow2,format=3Dqcow2,lazy-refcounts=3Don
+QEMU X.Y.Z monitor - type 'help' for more information
+(qemu) q=1B[K=1B[Dqu=1B[K=1B[D=1B[Dqui=1B[K=1B[D=1B[D=1B[Dquit= =1B[K
+
+Testing: -drive file=3DTEST_DIR/t.qcow2,format=3Dqcow2,lazy-refcounts=3Doff +QEMU X.Y.Z monitor - type 'help' for more information
+(qemu) q=1B[K=1B[Dqu=1B[K=1B[D=1B[Dqui=1B[K=1B[D=1B[D=1B[Dquit= =1B[K
+
+Testing: -drive file=3DTEST_DIR/t.qcow2,format=3Dqcow2,lazy-refcounts=3D
+QEMU_PROG: -drive file=3DTEST_DIR/t.qcow2,format=3Dqcow2,lazy-refcounts=3D: could= not open disk image TEST_DIR/t.qcow2: Parameter 'lazy-refcounts' expects 'on' or 'off'
+
+Testing: -drive file=3DTEST_DIR/t.qcow2,format=3Dqcow2,lazy-refcounts=3D42
+QEMU_PROG: -drive file=3DTEST_DIR/t.qcow2,format=3Dqcow2,lazy-refcounts=3D42: cou= ld not open disk image TEST_DIR/t.qcow2: Parameter 'lazy-refcounts' expects 'on' or 'off'
+
+Testing: -drive file=3DTEST_DIR/t.qcow2,format=3Dqcow2,lazy-refcounts=3Dfoo +QEMU_PROG: -drive file=3DTEST_DIR/t.qcow2,format=3Dqcow2,lazy-refcounts=3Dfoo: co= uld not open disk image TEST_DIR/t.qcow2: Parameter 'lazy-refcounts' expects 'on' or 'off'
+
+
+=3D=3D=3D With version 2 images enabling lazy refcounts must f= ail =3D=3D=3D
+
+Formatting 'TEST_DIR/t.IMGFMT', fmt=3DIMGFMT size=3D134217728 =
+Testing: -drive file=3DTEST_DIR/t.qcow2,format=3Dqcow2,lazy-refcounts=3Don
+QEMU_PROG: -drive file=3DTEST_DIR/t.qcow2,format=3Dqcow2,lazy-refcounts=3Don: cou= ld not open disk image TEST_DIR/t.qcow2: Lazy refcounts require a qcow2 image with at least qemu 1.1 compatibility level
+
+Testing: -drive file=3DTEST_DIR/t.qcow2,format=3Dqcow2,lazy-refcounts=3Doff +QEMU X.Y.Z monitor - type 'help' for more information
+(qemu) q=1B[K=1B[Dqu=1B[K=1B[D=1B[Dqui=1B[K=1B[D=1B[D=1B[Dquit= =1B[K
+
+
+=3D=3D=3D No medium =3D=3D=3D
+
+Testing: -drive if=3Dfloppy
+QEMU X.Y.Z monitor - type 'help' for more information
+(qemu) Warning: Orphaned drive without device: id=3Dfloppy0,file=3D,if=3Dfloppy,bus=3D0,unit=3D0
+q=1B[K=1B[Dqu=1B[K=1B[D=1B[Dqui=1B[K=1B[D=1B[D=1B[Dquit=1B[K <= br>

Can't we get rid of these warnings somehow? If nothing else works, filter them out?
OK.
=
[snip]

+=3D=3D=3D Snapshot mode =3D=3D=3D
+
+wrote 4096/4096 bytes at offset 0
+4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
+Testing: -drive file=3DTEST_DIR/t.qcow2 -snapshot
+QEMU X.Y.Z monitor - type 'help' for more information
+(qemu) q=1B[K=1B[Dqe=1B[K=1B[D=1B[Dqem=1B[K=1B[D=1B[D=1B[Dqemu=1B[K=1B= [D=1B[D=1B[D=1B[Dqemu-=1B[K=1B[D=1B[D=1B[D=1B[D=1B[Dqemu-i=1B[K=1B[D=1B[D= =1B[D=1B[D=1B[D=1B[Dqemu-io=1B[K=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[Dqemu-i= o =1B[K=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[Dqemu-io v=1B[K=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[Dqemu-io vi=1B[K=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[Dqemu-i= o vir=1B[K=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D= qemu-io virt=1B[K=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[= D=1B[Dqemu-io virti=1B[K=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B= [D=1B[D=1B[Dqemu-io virtio=1B[K=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B= [D=1B[D=1B[D=1B[Dqemu-io virtio0=1B[K=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B= [D=1B[D=1B[D=1B[D=1B[Dqemu-io virtio0 =1B[K=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B= [D=1B[D=1B[D=1B[D=1B[Dqemu-io virtio0 "=1B[K=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B= [D=1B[D=1B[D=1B[D=1B[D=1B[Dqemu-io virtio0 "w=1B[K=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B= [D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[Dqemu-io virtio0 "wr=1B[K=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D= =1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[Dqemu-io virtio0 "wri=1B[K=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[= D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[Dqemu-io virtio0 "writ=1B[K=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B= [D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D!
=A0 =1B[D=1B[Dqemu-io virtio0 "write=1B[K=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B= [D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[Dqemu-io virtio0 "write =1B[K=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B= [D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[Dqemu-io virtio0 "write -=1B[K=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B= [D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[Dqemu-io virtio0 "write -P=1B[K=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B= [D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[Dqemu-i= o virtio0 "write -P =1B[K=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B= [D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[Dq= emu-io virtio0 "write -P 0=1B[K=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B= [D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B= [Dqemu-io virtio0 "write -P 0x=1B[K=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B= [D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B= [D=1B[Dqemu-io virtio0 "write -P 0x2=1B[K=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D= =1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B= [D=1B[D=1B[D=1B[Dqemu-io virtio0 "write -P 0x22=1B[K=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[= D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B= [D=1B[D=1B[D=1B[D=1B[Dqemu-io virtio0 "wr!
=A0 ite -P 0x22 =1B[K=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B= [D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B= [D=1B[D=1B[D=1B[D=1B[Dqemu-io virtio0 "write -P 0x22 0=1B[K=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B= [D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B= [D=1B[D=1B[D=1B[D=1B[D=1B[Dqemu-io virtio0 "write -P 0x22 0 =1B[K=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B= [D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B= [D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[Dqemu-io virtio0 "write -P 0x22 0 4=1B[K=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B= [D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B= [D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[Dqemu-io virtio0 "write -P 0x22 0 4k=1B[K=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B= [D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B= [D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[D=1B[Dqemu-io virtio0 "write -P 0x22 0 4k"=1B[K

This is an example of a line that got split into multiple lines in the email. It's fixable by the reviewer, but that requires work. :-)

Max



--------------090101010808060907040000--