qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v3 2/3] qemu-iotests: s390x: fix test 051


From: Max Reitz
Subject: Re: [Qemu-devel] [PATCH v3 2/3] qemu-iotests: s390x: fix test 051
Date: Mon, 30 Nov 2015 20:38:40 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.4.0

On 26.11.2015 10:53, Bo Tu wrote:
> From: Bo Tu <address@hidden> 
> 
> The tests for device type "ide_cd" should only be tested for the pc
> 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 x86 platform specific output file is also
> needed.
> Warning message expected for s390x when drive without device.
> 
> Reviewed-by: Max Reitz <address@hidden>

I can't remember having given this for this patch. ;-)

> Reviewed-by: Sascha Silbe <address@hidden>
> Signed-off-by: Bo Tu <address@hidden>
> ---
>  tests/qemu-iotests/051          |  99 ++++++----
>  tests/qemu-iotests/051.out      | 422 
> ----------------------------------------
>  tests/qemu-iotests/051.pc.out   | 422 
> ++++++++++++++++++++++++++++++++++++++++
>  tests/qemu-iotests/051.s390.out | 335 +++++++++++++++++++++++++++++++
>  tests/qemu-iotests/Makefile     |   7 +-
>  5 files changed, 828 insertions(+), 457 deletions(-)
>  delete mode 100644 tests/qemu-iotests/051.out
>  create mode 100644 tests/qemu-iotests/051.pc.out
>  create mode 100644 tests/qemu-iotests/051.s390.out

I didn't even know we had a Makefile in tests/qemu-iotests. I don't
think it is invoked automatically, and if it was, it should not modify
the source tree. For instance, I have a separate build directory so my
source tree remains clean.

I don't think expecting the user to invoke the Makefile manually is a
good idea either. When I said "copy" I literally meant adding a copy of
051.s390.out with this patch (even though it is ugly, I'd still consider
it better).

Anyway, we can circumvent the whole issue anyway. While 051 does test
some devices explicitly which are only available on the PC platform, the
thing in question which would require a s390-specific output, too, is
the final part of the test ("=== Snapshot mode ===").

You can just drop the "case" introduced by this patch and set device_id
to whatever you want (e.g. "drive0" or "none0"). Then, you replace every
"-drive file..." by "-drive if=none,id=$device_id,file=..." and you're
done (obviously, the reference output needs to be adjusted for the
changed drive ID).

Then, you don't need an 051.s390.out at all, and can just make that the
common output (051.out).

Max

> diff --git a/tests/qemu-iotests/051 b/tests/qemu-iotests/051
> index 17dbf04..2bc2193 100755
> --- a/tests/qemu-iotests/051
> +++ b/tests/qemu-iotests/051
> @@ -148,33 +148,49 @@ run_qemu -drive if=ide
>  run_qemu -drive if=virtio
>  run_qemu -drive if=scsi
>  
> -run_qemu -drive if=none,id=disk -device ide-cd,drive=disk
> -run_qemu -drive if=none,id=disk -device lsi53c895a -device scsi-cd,drive=disk
> -
> -run_qemu -drive if=none,id=disk -device ide-drive,drive=disk
> -run_qemu -drive if=none,id=disk -device ide-hd,drive=disk
> -run_qemu -drive if=none,id=disk -device lsi53c895a -device 
> scsi-disk,drive=disk
> -run_qemu -drive if=none,id=disk -device lsi53c895a -device scsi-hd,drive=disk
> +case "$QEMU_DEFAULT_MACHINE" in
> +    pc)
> +        run_qemu -drive if=none,id=disk -device ide-cd,drive=disk
> +        run_qemu -drive if=none,id=disk -device lsi53c895a -device 
> scsi-cd,drive=disk
> +        run_qemu -drive if=none,id=disk -device ide-drive,drive=disk
> +        run_qemu -drive if=none,id=disk -device ide-hd,drive=disk
> +        run_qemu -drive if=none,id=disk -device lsi53c895a -device 
> scsi-disk,drive=disk
> +        run_qemu -drive if=none,id=disk -device lsi53c895a -device 
> scsi-hd,drive=disk
> +        ;;
> +     *)
> +        ;;
> +esac
>  
>  echo
>  echo === Read-only ===
>  echo
>  
> -run_qemu -drive file="$TEST_IMG",if=floppy,readonly=on
> -run_qemu -drive file="$TEST_IMG",if=ide,media=cdrom,readonly=on
> -run_qemu -drive file="$TEST_IMG",if=scsi,media=cdrom,readonly=on
> +case "$QEMU_DEFAULT_MACHINE" in
> +    pc)
> +        run_qemu -drive file="$TEST_IMG",if=floppy,readonly=on
> +        run_qemu -drive file="$TEST_IMG",if=ide,media=cdrom,readonly=on
> +        run_qemu -drive file="$TEST_IMG",if=scsi,media=cdrom,readonly=on
> +        run_qemu -drive file="$TEST_IMG",if=ide,readonly=on
> +        ;;
> +     *)
> +        ;;
> +esac
>  
> -run_qemu -drive file="$TEST_IMG",if=ide,readonly=on
>  run_qemu -drive file="$TEST_IMG",if=virtio,readonly=on
>  run_qemu -drive file="$TEST_IMG",if=scsi,readonly=on
>  
> -run_qemu -drive file="$TEST_IMG",if=none,id=disk,readonly=on -device 
> ide-cd,drive=disk
> -run_qemu -drive file="$TEST_IMG",if=none,id=disk,readonly=on -device 
> lsi53c895a -device scsi-cd,drive=disk
> -
> -run_qemu -drive file="$TEST_IMG",if=none,id=disk,readonly=on -device 
> ide-drive,drive=disk
> -run_qemu -drive file="$TEST_IMG",if=none,id=disk,readonly=on -device 
> ide-hd,drive=disk
> -run_qemu -drive file="$TEST_IMG",if=none,id=disk,readonly=on -device 
> lsi53c895a -device scsi-disk,drive=disk
> -run_qemu -drive file="$TEST_IMG",if=none,id=disk,readonly=on -device 
> lsi53c895a -device scsi-hd,drive=disk
> +case "$QEMU_DEFAULT_MACHINE" in
> +    pc)
> +        run_qemu -drive file="$TEST_IMG",if=none,id=disk,readonly=on -device 
> ide-cd,drive=disk
> +        run_qemu -drive file="$TEST_IMG",if=none,id=disk,readonly=on -device 
> lsi53c895a -device scsi-cd,drive=disk
> +        run_qemu -drive file="$TEST_IMG",if=none,id=disk,readonly=on -device 
> ide-drive,drive=disk
> +        run_qemu -drive file="$TEST_IMG",if=none,id=disk,readonly=on -device 
> ide-hd,drive=disk
> +        run_qemu -drive file="$TEST_IMG",if=none,id=disk,readonly=on -device 
> lsi53c895a -device scsi-disk,drive=disk
> +        run_qemu -drive file="$TEST_IMG",if=none,id=disk,readonly=on -device 
> lsi53c895a -device scsi-hd,drive=disk
> +        ;;
> +     *)
> +        ;;
> +esac
>  
>  echo
>  echo === Cache modes ===
> @@ -183,12 +199,18 @@ echo
>  # Cannot use the test image because cache=none might not work on the host FS
>  # Use cdrom so that we won't get errors about missing media
>  
> -run_qemu -drive media=cdrom,cache=none
> -run_qemu -drive media=cdrom,cache=directsync
> -run_qemu -drive media=cdrom,cache=writeback
> -run_qemu -drive media=cdrom,cache=writethrough
> -run_qemu -drive media=cdrom,cache=unsafe
> -run_qemu -drive media=cdrom,cache=invalid_value
> +case "$QEMU_DEFAULT_MACHINE" in
> +    pc)
> +        run_qemu -drive media=cdrom,cache=none
> +        run_qemu -drive media=cdrom,cache=directsync
> +        run_qemu -drive media=cdrom,cache=writeback
> +        run_qemu -drive media=cdrom,cache=writethrough
> +        run_qemu -drive media=cdrom,cache=unsafe
> +        run_qemu -drive media=cdrom,cache=invalid_value
> +        ;;
> +     *)
> +        ;;
> +esac
>  
>  echo
>  echo === Specifying the protocol layer ===
> @@ -251,28 +273,37 @@ echo
>  echo === Snapshot mode ===
>  echo
>  
> +case "$QEMU_DEFAULT_MACHINE" in
> +    pc)
> +        device_id="ide0-hd0"
> +        ;;
> +    s390|s390-ccw-virtio)
> +        device_id="virtio0"
> +        ;;
> +esac
> +
>  $QEMU_IO -c "write -P 0x11 0 4k" "$TEST_IMG" | _filter_qemu_io
>  
> -echo 'qemu-io ide0-hd0 "write -P 0x22 0 4k"' | run_qemu -drive 
> file="$TEST_IMG" -snapshot | _filter_qemu_io
> -echo 'qemu-io ide0-hd0 "write -P 0x22 0 4k"' | run_qemu -drive 
> file="$TEST_IMG",snapshot=on | _filter_qemu_io
> -echo 'qemu-io ide0-hd0 "write -P 0x22 0 4k"' | run_qemu -drive 
> file.filename="$TEST_IMG",driver=qcow2,snapshot=on | _filter_qemu_io
> -echo 'qemu-io ide0-hd0 "write -P 0x22 0 4k"' | run_qemu -drive 
> file.filename="$TEST_IMG",driver=qcow2 -snapshot | _filter_qemu_io
> -echo 'qemu-io ide0-hd0 "write -P 0x22 0 4k"' | run_qemu -drive 
> file="file:$TEST_IMG" -snapshot | _filter_qemu_io
> -echo 'qemu-io ide0-hd0 "write -P 0x22 0 4k"' | run_qemu -drive 
> file="file:$TEST_IMG",snapshot=on | _filter_qemu_io
> +echo "qemu-io $device_id \"write -P 0x22 0 4k\"" | run_qemu -drive 
> file="$TEST_IMG" -snapshot | _filter_qemu_io
> +echo "qemu-io $device_id \"write -P 0x22 0 4k\"" | run_qemu -drive 
> file="$TEST_IMG",snapshot=on | _filter_qemu_io
> +echo "qemu-io $device_id \"write -P 0x22 0 4k\"" | run_qemu -drive 
> file.filename="$TEST_IMG",driver=qcow2,snapshot=on | _filter_qemu_io
> +echo "qemu-io $device_id \"write -P 0x22 0 4k\"" | run_qemu -drive 
> file.filename="$TEST_IMG",driver=qcow2 -snapshot | _filter_qemu_io
> +echo "qemu-io $device_id \"write -P 0x22 0 4k\"" | run_qemu -drive 
> file="file:$TEST_IMG" -snapshot | _filter_qemu_io
> +echo "qemu-io $device_id \"write -P 0x22 0 4k\"" | run_qemu -drive 
> file="file:$TEST_IMG",snapshot=on | _filter_qemu_io
>  
>  # Opening a read-only file r/w with snapshot=on
>  chmod u-w "$TEST_IMG"
> -echo 'qemu-io ide0-hd0 "write -P 0x22 0 4k"' | run_qemu -drive 
> file="$TEST_IMG" -snapshot | _filter_qemu_io
> -echo 'qemu-io ide0-hd0 "write -P 0x22 0 4k"' | run_qemu -drive 
> file="$TEST_IMG",snapshot=on | _filter_qemu_io
> +echo "qemu-io $device_id \"write -P 0x22 0 4k\"" | run_qemu -drive 
> file="$TEST_IMG" -snapshot | _filter_qemu_io
> +echo "qemu-io $device_id \"write -P 0x22 0 4k\"" | run_qemu -drive 
> file="$TEST_IMG",snapshot=on | _filter_qemu_io
>  chmod u+w "$TEST_IMG"
>  
>  $QEMU_IO -c "read -P 0x11 0 4k" "$TEST_IMG" | _filter_qemu_io
>  
> -echo 'qemu-io ide0-hd0 "write -P 0x22 0 4k"' | run_qemu -drive 
> file="$TEST_IMG",snapshot=off | _filter_qemu_io
> +echo "qemu-io $device_id \"write -P 0x22 0 4k\"" | run_qemu -drive 
> file="$TEST_IMG",snapshot=off | _filter_qemu_io
>  
>  $QEMU_IO -c "read -P 0x22 0 4k" "$TEST_IMG" | _filter_qemu_io
>  
> -echo -e 'qemu-io ide0-hd0 "write -P 0x33 0 4k"\ncommit ide0-hd0' | run_qemu 
> -drive file="$TEST_IMG",snapshot=on | _filter_qemu_io
> +echo -e "qemu-io $device_id \"write -P 0x33 0 4k\"\ncommit $device_id" | 
> run_qemu -drive file="$TEST_IMG",snapshot=on | _filter_qemu_io
>  
>  $QEMU_IO -c "read -P 0x33 0 4k" "$TEST_IMG" | _filter_qemu_io
>  
> diff --git a/tests/qemu-iotests/051.out b/tests/qemu-iotests/051.out
> deleted file mode 100644
> index 7765aa0..0000000
> --- a/tests/qemu-iotests/051.out
> +++ /dev/null
> @@ -1,422 +0,0 @@
> -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=: Block 
> format 'qcow2' used by device 'ide0-hd0' 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: Block 
> format 'qcow2' used by device 'ide0-hd0' 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: Block 
> format 'qcow2' used by device 'ide0-hd0' 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: Block 
> format 'qcow2' used by device 'ide0-hd0' 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=: 
> 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: 
> 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: 
> 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: 
> 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: Unknown driver 'foo'
> -
> -Testing: -drive file=TEST_DIR/t.qcow2,driver=foo
> -QEMU_PROG: -drive file=TEST_DIR/t.qcow2,driver=foo: 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: Cannot 
> specify both 'driver' and 'format'
> -
> -Testing: -drive file=TEST_DIR/t.qcow2,driver=qcow2,format=qcow2
> -QEMU_PROG: -drive file=TEST_DIR/t.qcow2,driver=qcow2,format=qcow2: Cannot 
> specify both 'driver' and 'format'
> -
> -
> -=== Device without drive ===
> -
> -Testing: -device virtio-scsi-pci -device scsi-hd
> -QEMU X.Y.Z monitor - type 'help' for more information
> -(qemu) QEMU_PROG: -device scsi-hd: drive property not set
> -
> -
> -=== 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
> -ide0-hd0 (NODE_NAME): TEST_DIR/t.qcow2 (qcow2)
> -    Cache mode:       writeback
> -    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: 
> 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:
>  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:
>  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=: 
> 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: 
> 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: 
> 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: 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) qququiquit
> -
> -Testing: -drive if=ide,media=cdrom
> -QEMU X.Y.Z monitor - type 'help' for more information
> -(qemu) qququiquit
> -
> -Testing: -drive if=scsi,media=cdrom
> -QEMU X.Y.Z monitor - type 'help' for more information
> -(qemu) qququiquit
> -
> -Testing: -drive if=ide
> -QEMU X.Y.Z monitor - type 'help' for more information
> -(qemu) QEMU_PROG: Device needs media, but drive is empty
> -QEMU_PROG: Initialization of device ide-hd failed: Device initialization 
> failed.
> -
> -Testing: -drive if=virtio
> -QEMU X.Y.Z monitor - type 'help' for more information
> -(qemu) QEMU_PROG: -drive if=virtio: Device needs media, but drive is empty
> -
> -Testing: -drive if=scsi
> -QEMU X.Y.Z monitor - type 'help' for more information
> -(qemu) QEMU_PROG: Initialization of device lsi53c895a failed: Device needs 
> media, but drive is empty
> -
> -Testing: -drive if=none,id=disk -device ide-cd,drive=disk
> -QEMU X.Y.Z monitor - type 'help' for more information
> -(qemu) qququiquit
> -
> -Testing: -drive if=none,id=disk -device lsi53c895a -device scsi-cd,drive=disk
> -QEMU X.Y.Z monitor - type 'help' for more information
> -(qemu) qququiquit
> -
> -Testing: -drive if=none,id=disk -device ide-drive,drive=disk
> -QEMU X.Y.Z monitor - type 'help' for more information
> -(qemu) QEMU_PROG: -device ide-drive,drive=disk: Device needs media, but 
> drive is empty
> -QEMU_PROG: -device ide-drive,drive=disk: Device initialization failed.
> -
> -Testing: -drive if=none,id=disk -device ide-hd,drive=disk
> -QEMU X.Y.Z monitor - type 'help' for more information
> -(qemu) QEMU_PROG: -device ide-hd,drive=disk: Device needs media, but drive 
> is empty
> -QEMU_PROG: -device ide-hd,drive=disk: Device initialization failed.
> -
> -Testing: -drive if=none,id=disk -device lsi53c895a -device 
> scsi-disk,drive=disk
> -QEMU X.Y.Z monitor - type 'help' for more information
> -(qemu) QEMU_PROG: -device scsi-disk,drive=disk: Device needs media, but 
> drive is empty
> -
> -Testing: -drive if=none,id=disk -device lsi53c895a -device scsi-hd,drive=disk
> -QEMU X.Y.Z monitor - type 'help' for more information
> -(qemu) QEMU_PROG: -device scsi-hd,drive=disk: Device needs media, but drive 
> is empty
> -
> -
> -=== Read-only ===
> -
> -Testing: -drive file=TEST_DIR/t.qcow2,if=floppy,readonly=on
> -QEMU X.Y.Z monitor - type 'help' for more information
> -(qemu) qququiquit
> -
> -Testing: -drive file=TEST_DIR/t.qcow2,if=ide,media=cdrom,readonly=on
> -QEMU X.Y.Z monitor - type 'help' for more information
> -(qemu) qququiquit
> -
> -Testing: -drive file=TEST_DIR/t.qcow2,if=scsi,media=cdrom,readonly=on
> -QEMU X.Y.Z monitor - type 'help' for more information
> -(qemu) qququiquit
> -
> -Testing: -drive file=TEST_DIR/t.qcow2,if=ide,readonly=on
> -QEMU X.Y.Z monitor - type 'help' for more information
> -(qemu) QEMU_PROG: Can't use a read-only drive
> -QEMU_PROG: Initialization of device ide-hd failed: Device initialization 
> failed.
> -
> -Testing: -drive file=TEST_DIR/t.qcow2,if=virtio,readonly=on
> -QEMU X.Y.Z monitor - type 'help' for more information
> -(qemu) qququiquit
> -
> -Testing: -drive file=TEST_DIR/t.qcow2,if=scsi,readonly=on
> -QEMU X.Y.Z monitor - type 'help' for more information
> -(qemu) qququiquit
> -
> -Testing: -drive file=TEST_DIR/t.qcow2,if=none,id=disk,readonly=on -device 
> ide-cd,drive=disk
> -QEMU X.Y.Z monitor - type 'help' for more information
> -(qemu) qququiquit
> -
> -Testing: -drive file=TEST_DIR/t.qcow2,if=none,id=disk,readonly=on -device 
> lsi53c895a -device scsi-cd,drive=disk
> -QEMU X.Y.Z monitor - type 'help' for more information
> -(qemu) qququiquit
> -
> -Testing: -drive file=TEST_DIR/t.qcow2,if=none,id=disk,readonly=on -device 
> ide-drive,drive=disk
> -QEMU X.Y.Z monitor - type 'help' for more information
> -(qemu) QEMU_PROG: -device ide-drive,drive=disk: Can't use a read-only drive
> -QEMU_PROG: -device ide-drive,drive=disk: Device initialization failed.
> -
> -Testing: -drive file=TEST_DIR/t.qcow2,if=none,id=disk,readonly=on -device 
> ide-hd,drive=disk
> -QEMU X.Y.Z monitor - type 'help' for more information
> -(qemu) QEMU_PROG: -device ide-hd,drive=disk: Can't use a read-only drive
> -QEMU_PROG: -device ide-hd,drive=disk: Device initialization failed.
> -
> -Testing: -drive file=TEST_DIR/t.qcow2,if=none,id=disk,readonly=on -device 
> lsi53c895a -device scsi-disk,drive=disk
> -QEMU X.Y.Z monitor - type 'help' for more information
> -(qemu) qququiquit
> -
> -Testing: -drive file=TEST_DIR/t.qcow2,if=none,id=disk,readonly=on -device 
> lsi53c895a -device scsi-hd,drive=disk
> -QEMU X.Y.Z monitor - type 'help' for more information
> -(qemu) qququiquit
> -
> -
> -=== Cache modes ===
> -
> -Testing: -drive media=cdrom,cache=none
> -QEMU X.Y.Z monitor - type 'help' for more information
> -(qemu) qququiquit
> -
> -Testing: -drive media=cdrom,cache=directsync
> -QEMU X.Y.Z monitor - type 'help' for more information
> -(qemu) qququiquit
> -
> -Testing: -drive media=cdrom,cache=writeback
> -QEMU X.Y.Z monitor - type 'help' for more information
> -(qemu) qququiquit
> -
> -Testing: -drive media=cdrom,cache=writethrough
> -QEMU X.Y.Z monitor - type 'help' for more information
> -(qemu) qququiquit
> -
> -Testing: -drive media=cdrom,cache=unsafe
> -QEMU X.Y.Z monitor - type 'help' for more information
> -(qemu) qququiquit
> -
> -Testing: -drive media=cdrom,cache=invalid_value
> -QEMU_PROG: -drive media=cdrom,cache=invalid_value: invalid cache option
> -
> -
> -=== Specifying the protocol layer ===
> -
> -Testing: -drive file=TEST_DIR/t.qcow2,file.driver=file
> -QEMU X.Y.Z monitor - type 'help' for more information
> -(qemu) qququiquit
> -
> -
> -=== Leaving out required options ===
> -
> -Testing: -drive driver=file
> -QEMU_PROG: -drive driver=file: The 'file' block driver requires a file name
> -
> -Testing: -drive driver=nbd
> -QEMU_PROG: -drive driver=nbd: one of path and host must be specified.
> -
> -Testing: -drive driver=raw
> -QEMU_PROG: -drive driver=raw: Can't use 'raw' as a block driver for the 
> protocol level
> -
> -Testing: -drive file.driver=file
> -QEMU_PROG: -drive file.driver=file: The 'file' block driver requires a file 
> name
> -
> -Testing: -drive file.driver=nbd
> -QEMU_PROG: -drive file.driver=nbd: one of path and host must be specified.
> -
> -Testing: -drive file.driver=raw
> -QEMU_PROG: -drive file.driver=raw: Can't use 'raw' as a block driver for the 
> protocol level
> -
> -Testing: -drive foo=bar
> -QEMU_PROG: -drive foo=bar: Must specify either driver or file
> -
> -
> -=== Specifying both an option and its legacy alias ===
> -
> -Testing: -drive file=TEST_DIR/t.qcow2,iops=1234,throttling.iops-total=5678
> -QEMU_PROG: -drive 
> file=TEST_DIR/t.qcow2,iops=1234,throttling.iops-total=5678: 
> 'throttling.iops-total' and its alias 'iops' can't be used at the same time
> -
> -Testing: -drive file=TEST_DIR/t.qcow2,iops_rd=1234,throttling.iops-read=5678
> -QEMU_PROG: -drive 
> file=TEST_DIR/t.qcow2,iops_rd=1234,throttling.iops-read=5678: 
> 'throttling.iops-read' and its alias 'iops_rd' can't be used at the same time
> -
> -Testing: -drive file=TEST_DIR/t.qcow2,iops_wr=1234,throttling.iops-write=5678
> -QEMU_PROG: -drive 
> file=TEST_DIR/t.qcow2,iops_wr=1234,throttling.iops-write=5678: 
> 'throttling.iops-write' and its alias 'iops_wr' can't be used at the same time
> -
> -Testing: -drive file=TEST_DIR/t.qcow2,bps=1234,throttling.bps-total=5678
> -QEMU_PROG: -drive file=TEST_DIR/t.qcow2,bps=1234,throttling.bps-total=5678: 
> 'throttling.bps-total' and its alias 'bps' can't be used at the same time
> -
> -Testing: -drive file=TEST_DIR/t.qcow2,bps_rd=1234,throttling.bps-read=5678
> -QEMU_PROG: -drive 
> file=TEST_DIR/t.qcow2,bps_rd=1234,throttling.bps-read=5678: 
> 'throttling.bps-read' and its alias 'bps_rd' can't be used at the same time
> -
> -Testing: -drive file=TEST_DIR/t.qcow2,bps_wr=1234,throttling.bps-write=5678
> -QEMU_PROG: -drive 
> file=TEST_DIR/t.qcow2,bps_wr=1234,throttling.bps-write=5678: 
> 'throttling.bps-write' and its alias 'bps_wr' can't be used at the same time
> -
> -Testing: -drive 
> file=TEST_DIR/t.qcow2,iops_max=1234,throttling.iops-total-max=5678
> -QEMU_PROG: -drive 
> file=TEST_DIR/t.qcow2,iops_max=1234,throttling.iops-total-max=5678: 
> 'throttling.iops-total-max' and its alias 'iops_max' can't be used at the 
> same time
> -
> -Testing: -drive 
> file=TEST_DIR/t.qcow2,iops_rd_max=1234,throttling.iops-read-max=5678
> -QEMU_PROG: -drive 
> file=TEST_DIR/t.qcow2,iops_rd_max=1234,throttling.iops-read-max=5678: 
> 'throttling.iops-read-max' and its alias 'iops_rd_max' can't be used at the 
> same time
> -
> -Testing: -drive 
> file=TEST_DIR/t.qcow2,iops_wr_max=1234,throttling.iops-write-max=5678
> -QEMU_PROG: -drive 
> file=TEST_DIR/t.qcow2,iops_wr_max=1234,throttling.iops-write-max=5678: 
> 'throttling.iops-write-max' and its alias 'iops_wr_max' can't be used at the 
> same time
> -
> -Testing: -drive 
> file=TEST_DIR/t.qcow2,bps_max=1234,throttling.bps-total-max=5678
> -QEMU_PROG: -drive 
> file=TEST_DIR/t.qcow2,bps_max=1234,throttling.bps-total-max=5678: 
> 'throttling.bps-total-max' and its alias 'bps_max' can't be used at the same 
> time
> -
> -Testing: -drive 
> file=TEST_DIR/t.qcow2,bps_rd_max=1234,throttling.bps-read-max=5678
> -QEMU_PROG: -drive 
> file=TEST_DIR/t.qcow2,bps_rd_max=1234,throttling.bps-read-max=5678: 
> 'throttling.bps-read-max' and its alias 'bps_rd_max' can't be used at the 
> same time
> -
> -Testing: -drive 
> file=TEST_DIR/t.qcow2,bps_wr_max=1234,throttling.bps-write-max=5678
> -QEMU_PROG: -drive 
> file=TEST_DIR/t.qcow2,bps_wr_max=1234,throttling.bps-write-max=5678: 
> 'throttling.bps-write-max' and its alias 'bps_wr_max' can't be used at the 
> same time
> -
> -Testing: -drive 
> file=TEST_DIR/t.qcow2,iops_size=1234,throttling.iops-size=5678
> -QEMU_PROG: -drive 
> file=TEST_DIR/t.qcow2,iops_size=1234,throttling.iops-size=5678: 
> 'throttling.iops-size' and its alias 'iops_size' can't be used at the same 
> time
> -
> -Testing: -drive file=TEST_DIR/t.qcow2,readonly=on,read-only=off
> -QEMU_PROG: -drive file=TEST_DIR/t.qcow2,readonly=on,read-only=off: 
> 'read-only' and its alias 'readonly' can't be used at the same time
> -
> -
> -=== Parsing protocol from file name ===
> -
> -Testing: -hda foo:bar
> -QEMU_PROG: -hda foo:bar: Unknown protocol 'foo'
> -
> -Testing: -drive file=foo:bar
> -QEMU_PROG: -drive file=foo:bar: Unknown protocol 'foo'
> -
> -Testing: -drive file.filename=foo:bar
> -QEMU_PROG: -drive file.filename=foo:bar: Could not open 'foo:bar': No such 
> file or directory
> -
> -Testing: -hda file:TEST_DIR/t.qcow2
> -QEMU X.Y.Z monitor - type 'help' for more information
> -(qemu) qququiquit
> -
> -Testing: -drive file=file:TEST_DIR/t.qcow2
> -QEMU X.Y.Z monitor - type 'help' for more information
> -(qemu) qququiquit
> -
> -Testing: -drive file.filename=file:TEST_DIR/t.qcow2
> -QEMU_PROG: -drive file.filename=file:TEST_DIR/t.qcow2: Could not open 
> 'file:TEST_DIR/t.qcow2': No such file or directory
> -
> -
> -=== 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 iqemu-io 
> idqemu-io 
> ideqemu-io 
> ide0qemu-io 
> ide0-qemu-io 
> ide0-hqemu-io 
> ide0-hdqemu-io 
> ide0-hd0qemu-io ide0-hd0 
> qemu-io ide0-hd0 
> "qemu-io ide0-hd0 
> "wqemu-io 
> ide0-hd0 
> "wrqemu-io 
> ide0-hd0 "wri!
>  qemu-io ide0-hd0 
> "writqemu-io
>  ide0-hd0 
> "writeqemu-io
>  ide0-hd0 "write 
> qemu-io
>  ide0-hd0 "write 
> -qemu-io
>  ide0-hd0 "write 
> -Pqemu-io
>  ide0-hd0 "write -P 
> qemu-io
>  ide0-hd0 "write -P 
> 0qemu-io
>  ide0-hd0 "write -P 
> 0xqemu-io
>  ide0-hd0 "write -P 
> 0x2qemu-io
>  ide0-hd0 "w!
>  rite -P 
> 0x22qemu-io
>  ide0-hd0 "write -P 0x22 
> qemu-io
>  ide0-hd0 "write -P 0x22 
> 0qemu-io
>  ide0-hd0 "write -P 0x22 0 
> qemu-io
>  ide0-hd0 "write -P 0x22 0 
> 4qemu-io
>  ide0-hd0 "write -P 0x22 0 
> 4kqemu-io
>  ide0-hd0 "write -P 0x22 0 4k"
> -wrote 4096/4096 bytes at offset 0
> -4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
> -(qemu) qququiquit
> -
> -Testing: -drive file=TEST_DIR/t.qcow2,snapshot=on
> -QEMU X.Y.Z monitor - type 'help' for more information
> -(qemu) 
> qqeqemqemuqemu-qemu-iqemu-ioqemu-io
>  qemu-io iqemu-io 
> idqemu-io 
> ideqemu-io 
> ide0qemu-io 
> ide0-qemu-io 
> ide0-hqemu-io 
> ide0-hdqemu-io 
> ide0-hd0qemu-io ide0-hd0 
> qemu-io ide0-hd0 
> "qemu-io ide0-hd0 
> "wqemu-io 
> ide0-hd0 
> "wrqemu-io 
> ide0-hd0 "wri!
>  qemu-io ide0-hd0 
> "writqemu-io
>  ide0-hd0 
> "writeqemu-io
>  ide0-hd0 "write 
> qemu-io
>  ide0-hd0 "write 
> -qemu-io
>  ide0-hd0 "write 
> -Pqemu-io
>  ide0-hd0 "write -P 
> qemu-io
>  ide0-hd0 "write -P 
> 0qemu-io
>  ide0-hd0 "write -P 
> 0xqemu-io
>  ide0-hd0 "write -P 
> 0x2qemu-io
>  ide0-hd0 "w!
>  rite -P 
> 0x22qemu-io
>  ide0-hd0 "write -P 0x22 
> qemu-io
>  ide0-hd0 "write -P 0x22 
> 0qemu-io
>  ide0-hd0 "write -P 0x22 0 
> qemu-io
>  ide0-hd0 "write -P 0x22 0 
> 4qemu-io
>  ide0-hd0 "write -P 0x22 0 
> 4kqemu-io
>  ide0-hd0 "write -P 0x22 0 4k"
> -wrote 4096/4096 bytes at offset 0
> -4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
> -(qemu) qququiquit
> -
> -Testing: -drive file.filename=TEST_DIR/t.qcow2,driver=qcow2,snapshot=on
> -QEMU X.Y.Z monitor - type 'help' for more information
> -(qemu) 
> qqeqemqemuqemu-qemu-iqemu-ioqemu-io
>  qemu-io iqemu-io 
> idqemu-io 
> ideqemu-io 
> ide0qemu-io 
> ide0-qemu-io 
> ide0-hqemu-io 
> ide0-hdqemu-io 
> ide0-hd0qemu-io ide0-hd0 
> qemu-io ide0-hd0 
> "qemu-io ide0-hd0 
> "wqemu-io 
> ide0-hd0 
> "wrqemu-io 
> ide0-hd0 "wri!
>  qemu-io ide0-hd0 
> "writqemu-io
>  ide0-hd0 
> "writeqemu-io
>  ide0-hd0 "write 
> qemu-io
>  ide0-hd0 "write 
> -qemu-io
>  ide0-hd0 "write 
> -Pqemu-io
>  ide0-hd0 "write -P 
> qemu-io
>  ide0-hd0 "write -P 
> 0qemu-io
>  ide0-hd0 "write -P 
> 0xqemu-io
>  ide0-hd0 "write -P 
> 0x2qemu-io
>  ide0-hd0 "w!
>  rite -P 
> 0x22qemu-io
>  ide0-hd0 "write -P 0x22 
> qemu-io
>  ide0-hd0 "write -P 0x22 
> 0qemu-io
>  ide0-hd0 "write -P 0x22 0 
> qemu-io
>  ide0-hd0 "write -P 0x22 0 
> 4qemu-io
>  ide0-hd0 "write -P 0x22 0 
> 4kqemu-io
>  ide0-hd0 "write -P 0x22 0 4k"
> -wrote 4096/4096 bytes at offset 0
> -4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
> -(qemu) qququiquit
> -
> -Testing: -drive file.filename=TEST_DIR/t.qcow2,driver=qcow2 -snapshot
> -QEMU X.Y.Z monitor - type 'help' for more information
> -(qemu) 
> qqeqemqemuqemu-qemu-iqemu-ioqemu-io
>  qemu-io iqemu-io 
> idqemu-io 
> ideqemu-io 
> ide0qemu-io 
> ide0-qemu-io 
> ide0-hqemu-io 
> ide0-hdqemu-io 
> ide0-hd0qemu-io ide0-hd0 
> qemu-io ide0-hd0 
> "qemu-io ide0-hd0 
> "wqemu-io 
> ide0-hd0 
> "wrqemu-io 
> ide0-hd0 "wri!
>  qemu-io ide0-hd0 
> "writqemu-io
>  ide0-hd0 
> "writeqemu-io
>  ide0-hd0 "write 
> qemu-io
>  ide0-hd0 "write 
> -qemu-io
>  ide0-hd0 "write 
> -Pqemu-io
>  ide0-hd0 "write -P 
> qemu-io
>  ide0-hd0 "write -P 
> 0qemu-io
>  ide0-hd0 "write -P 
> 0xqemu-io
>  ide0-hd0 "write -P 
> 0x2qemu-io
>  ide0-hd0 "w!
>  rite -P 
> 0x22qemu-io
>  ide0-hd0 "write -P 0x22 
> qemu-io
>  ide0-hd0 "write -P 0x22 
> 0qemu-io
>  ide0-hd0 "write -P 0x22 0 
> qemu-io
>  ide0-hd0 "write -P 0x22 0 
> 4qemu-io
>  ide0-hd0 "write -P 0x22 0 
> 4kqemu-io
>  ide0-hd0 "write -P 0x22 0 4k"
> -wrote 4096/4096 bytes at offset 0
> -4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
> -(qemu) qququiquit
> -
> -Testing: -drive file=file:TEST_DIR/t.qcow2 -snapshot
> -QEMU X.Y.Z monitor - type 'help' for more information
> -(qemu) 
> qqeqemqemuqemu-qemu-iqemu-ioqemu-io
>  qemu-io iqemu-io 
> idqemu-io 
> ideqemu-io 
> ide0qemu-io 
> ide0-qemu-io 
> ide0-hqemu-io 
> ide0-hdqemu-io 
> ide0-hd0qemu-io ide0-hd0 
> qemu-io ide0-hd0 
> "qemu-io ide0-hd0 
> "wqemu-io 
> ide0-hd0 
> "wrqemu-io 
> ide0-hd0 "wri!
>  qemu-io ide0-hd0 
> "writqemu-io
>  ide0-hd0 
> "writeqemu-io
>  ide0-hd0 "write 
> qemu-io
>  ide0-hd0 "write 
> -qemu-io
>  ide0-hd0 "write 
> -Pqemu-io
>  ide0-hd0 "write -P 
> qemu-io
>  ide0-hd0 "write -P 
> 0qemu-io
>  ide0-hd0 "write -P 
> 0xqemu-io
>  ide0-hd0 "write -P 
> 0x2qemu-io
>  ide0-hd0 "w!
>  rite -P 
> 0x22qemu-io
>  ide0-hd0 "write -P 0x22 
> qemu-io
>  ide0-hd0 "write -P 0x22 
> 0qemu-io
>  ide0-hd0 "write -P 0x22 0 
> qemu-io
>  ide0-hd0 "write -P 0x22 0 
> 4qemu-io
>  ide0-hd0 "write -P 0x22 0 
> 4kqemu-io
>  ide0-hd0 "write -P 0x22 0 4k"
> -wrote 4096/4096 bytes at offset 0
> -4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
> -(qemu) qququiquit
> -
> -Testing: -drive file=file:TEST_DIR/t.qcow2,snapshot=on
> -QEMU X.Y.Z monitor - type 'help' for more information
> -(qemu) 
> qqeqemqemuqemu-qemu-iqemu-ioqemu-io
>  qemu-io iqemu-io 
> idqemu-io 
> ideqemu-io 
> ide0qemu-io 
> ide0-qemu-io 
> ide0-hqemu-io 
> ide0-hdqemu-io 
> ide0-hd0qemu-io ide0-hd0 
> qemu-io ide0-hd0 
> "qemu-io ide0-hd0 
> "wqemu-io 
> ide0-hd0 
> "wrqemu-io 
> ide0-hd0 "wri!
>  qemu-io ide0-hd0 
> "writqemu-io
>  ide0-hd0 
> "writeqemu-io
>  ide0-hd0 "write 
> qemu-io
>  ide0-hd0 "write 
> -qemu-io
>  ide0-hd0 "write 
> -Pqemu-io
>  ide0-hd0 "write -P 
> qemu-io
>  ide0-hd0 "write -P 
> 0qemu-io
>  ide0-hd0 "write -P 
> 0xqemu-io
>  ide0-hd0 "write -P 
> 0x2qemu-io
>  ide0-hd0 "w!
>  rite -P 
> 0x22qemu-io
>  ide0-hd0 "write -P 0x22 
> qemu-io
>  ide0-hd0 "write -P 0x22 
> 0qemu-io
>  ide0-hd0 "write -P 0x22 0 
> qemu-io
>  ide0-hd0 "write -P 0x22 0 
> 4qemu-io
>  ide0-hd0 "write -P 0x22 0 
> 4kqemu-io
>  ide0-hd0 "write -P 0x22 0 4k"
> -wrote 4096/4096 bytes at offset 0
> -4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
> -(qemu) qququiquit
> -
> -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 iqemu-io 
> idqemu-io 
> ideqemu-io 
> ide0qemu-io 
> ide0-qemu-io 
> ide0-hqemu-io 
> ide0-hdqemu-io 
> ide0-hd0qemu-io ide0-hd0 
> qemu-io ide0-hd0 
> "qemu-io ide0-hd0 
> "wqemu-io 
> ide0-hd0 
> "wrqemu-io 
> ide0-hd0 "wri!
>  qemu-io ide0-hd0 
> "writqemu-io
>  ide0-hd0 
> "writeqemu-io
>  ide0-hd0 "write 
> qemu-io
>  ide0-hd0 "write 
> -qemu-io
>  ide0-hd0 "write 
> -Pqemu-io
>  ide0-hd0 "write -P 
> qemu-io
>  ide0-hd0 "write -P 
> 0qemu-io
>  ide0-hd0 "write -P 
> 0xqemu-io
>  ide0-hd0 "write -P 
> 0x2qemu-io
>  ide0-hd0 "w!
>  rite -P 
> 0x22qemu-io
>  ide0-hd0 "write -P 0x22 
> qemu-io
>  ide0-hd0 "write -P 0x22 
> 0qemu-io
>  ide0-hd0 "write -P 0x22 0 
> qemu-io
>  ide0-hd0 "write -P 0x22 0 
> 4qemu-io
>  ide0-hd0 "write -P 0x22 0 
> 4kqemu-io
>  ide0-hd0 "write -P 0x22 0 4k"
> -wrote 4096/4096 bytes at offset 0
> -4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
> -(qemu) qququiquit
> -
> -Testing: -drive file=TEST_DIR/t.qcow2,snapshot=on
> -QEMU X.Y.Z monitor - type 'help' for more information
> -(qemu) 
> qqeqemqemuqemu-qemu-iqemu-ioqemu-io
>  qemu-io iqemu-io 
> idqemu-io 
> ideqemu-io 
> ide0qemu-io 
> ide0-qemu-io 
> ide0-hqemu-io 
> ide0-hdqemu-io 
> ide0-hd0qemu-io ide0-hd0 
> qemu-io ide0-hd0 
> "qemu-io ide0-hd0 
> "wqemu-io 
> ide0-hd0 
> "wrqemu-io 
> ide0-hd0 "wri!
>  qemu-io ide0-hd0 
> "writqemu-io
>  ide0-hd0 
> "writeqemu-io
>  ide0-hd0 "write 
> qemu-io
>  ide0-hd0 "write 
> -qemu-io
>  ide0-hd0 "write 
> -Pqemu-io
>  ide0-hd0 "write -P 
> qemu-io
>  ide0-hd0 "write -P 
> 0qemu-io
>  ide0-hd0 "write -P 
> 0xqemu-io
>  ide0-hd0 "write -P 
> 0x2qemu-io
>  ide0-hd0 "w!
>  rite -P 
> 0x22qemu-io
>  ide0-hd0 "write -P 0x22 
> qemu-io
>  ide0-hd0 "write -P 0x22 
> 0qemu-io
>  ide0-hd0 "write -P 0x22 0 
> qemu-io
>  ide0-hd0 "write -P 0x22 0 
> 4qemu-io
>  ide0-hd0 "write -P 0x22 0 
> 4kqemu-io
>  ide0-hd0 "write -P 0x22 0 4k"
> -wrote 4096/4096 bytes at offset 0
> -4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
> -(qemu) qququiquit
> -
> -read 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=off
> -QEMU X.Y.Z monitor - type 'help' for more information
> -(qemu) 
> qqeqemqemuqemu-qemu-iqemu-ioqemu-io
>  qemu-io iqemu-io 
> idqemu-io 
> ideqemu-io 
> ide0qemu-io 
> ide0-qemu-io 
> ide0-hqemu-io 
> ide0-hdqemu-io 
> ide0-hd0qemu-io ide0-hd0 
> qemu-io ide0-hd0 
> "qemu-io ide0-hd0 
> "wqemu-io 
> ide0-hd0 
> "wrqemu-io 
> ide0-hd0 "wri!
>  qemu-io ide0-hd0 
> "writqemu-io
>  ide0-hd0 
> "writeqemu-io
>  ide0-hd0 "write 
> qemu-io
>  ide0-hd0 "write 
> -qemu-io
>  ide0-hd0 "write 
> -Pqemu-io
>  ide0-hd0 "write -P 
> qemu-io
>  ide0-hd0 "write -P 
> 0qemu-io
>  ide0-hd0 "write -P 
> 0xqemu-io
>  ide0-hd0 "write -P 
> 0x2qemu-io
>  ide0-hd0 "w!
>  rite -P 
> 0x22qemu-io
>  ide0-hd0 "write -P 0x22 
> qemu-io
>  ide0-hd0 "write -P 0x22 
> 0qemu-io
>  ide0-hd0 "write -P 0x22 0 
> qemu-io
>  ide0-hd0 "write -P 0x22 0 
> 4qemu-io
>  ide0-hd0 "write -P 0x22 0 
> 4kqemu-io
>  ide0-hd0 "write -P 0x22 0 4k"
> -wrote 4096/4096 bytes at offset 0
> -4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
> -(qemu) qququiquit
> -
> -read 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=on
> -QEMU X.Y.Z monitor - type 'help' for more information
> -(qemu) 
> qqeqemqemuqemu-qemu-iqemu-ioqemu-io
>  qemu-io iqemu-io 
> idqemu-io 
> ideqemu-io 
> ide0qemu-io 
> ide0-qemu-io 
> ide0-hqemu-io 
> ide0-hdqemu-io 
> ide0-hd0qemu-io ide0-hd0 
> qemu-io ide0-hd0 
> "qemu-io ide0-hd0 
> "wqemu-io 
> ide0-hd0 
> "wrqemu-io 
> ide0-hd0 "wri!
>  qemu-io ide0-hd0 
> "writqemu-io
>  ide0-hd0 
> "writeqemu-io
>  ide0-hd0 "write 
> qemu-io
>  ide0-hd0 "write 
> -qemu-io
>  ide0-hd0 "write 
> -Pqemu-io
>  ide0-hd0 "write -P 
> qemu-io
>  ide0-hd0 "write -P 
> 0qemu-io
>  ide0-hd0 "write -P 
> 0xqemu-io
>  ide0-hd0 "write -P 
> 0x3qemu-io
>  ide0-hd0 "w!
>  rite -P 
> 0x33qemu-io
>  ide0-hd0 "write -P 0x33 
> qemu-io
>  ide0-hd0 "write -P 0x33 
> 0qemu-io
>  ide0-hd0 "write -P 0x33 0 
> qemu-io
>  ide0-hd0 "write -P 0x33 0 
> 4qemu-io
>  ide0-hd0 "write -P 0x33 0 
> 4kqemu-io
>  ide0-hd0 "write -P 0x33 0 4k"
> -wrote 4096/4096 bytes at offset 0
> -4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
> -(qemu) 
> ccocomcommcommicommitcommit
>  commit icommit 
> idcommit 
> idecommit 
> ide0commit 
> ide0-commit 
> ide0-hcommit 
> ide0-hdcommit ide0-hd0
> -(qemu) qququiquit
> -
> -read 4096/4096 bytes at offset 0
> -4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
> -*** done
> diff --git a/tests/qemu-iotests/051.pc.out b/tests/qemu-iotests/051.pc.out
> new file mode 100644
> index 0000000..7765aa0
> --- /dev/null
> +++ b/tests/qemu-iotests/051.pc.out
> @@ -0,0 +1,422 @@
> +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=: Block 
> format 'qcow2' used by device 'ide0-hd0' 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: Block 
> format 'qcow2' used by device 'ide0-hd0' 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: Block 
> format 'qcow2' used by device 'ide0-hd0' 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: Block 
> format 'qcow2' used by device 'ide0-hd0' 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=: 
> 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: 
> 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: 
> 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: 
> 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: Unknown driver 'foo'
> +
> +Testing: -drive file=TEST_DIR/t.qcow2,driver=foo
> +QEMU_PROG: -drive file=TEST_DIR/t.qcow2,driver=foo: 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: Cannot 
> specify both 'driver' and 'format'
> +
> +Testing: -drive file=TEST_DIR/t.qcow2,driver=qcow2,format=qcow2
> +QEMU_PROG: -drive file=TEST_DIR/t.qcow2,driver=qcow2,format=qcow2: Cannot 
> specify both 'driver' and 'format'
> +
> +
> +=== Device without drive ===
> +
> +Testing: -device virtio-scsi-pci -device scsi-hd
> +QEMU X.Y.Z monitor - type 'help' for more information
> +(qemu) QEMU_PROG: -device scsi-hd: drive property not set
> +
> +
> +=== 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
> +ide0-hd0 (NODE_NAME): TEST_DIR/t.qcow2 (qcow2)
> +    Cache mode:       writeback
> +    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: 
> 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:
>  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:
>  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=: 
> 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: 
> 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: 
> 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: 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) qququiquit
> +
> +Testing: -drive if=ide,media=cdrom
> +QEMU X.Y.Z monitor - type 'help' for more information
> +(qemu) qququiquit
> +
> +Testing: -drive if=scsi,media=cdrom
> +QEMU X.Y.Z monitor - type 'help' for more information
> +(qemu) qququiquit
> +
> +Testing: -drive if=ide
> +QEMU X.Y.Z monitor - type 'help' for more information
> +(qemu) QEMU_PROG: Device needs media, but drive is empty
> +QEMU_PROG: Initialization of device ide-hd failed: Device initialization 
> failed.
> +
> +Testing: -drive if=virtio
> +QEMU X.Y.Z monitor - type 'help' for more information
> +(qemu) QEMU_PROG: -drive if=virtio: Device needs media, but drive is empty
> +
> +Testing: -drive if=scsi
> +QEMU X.Y.Z monitor - type 'help' for more information
> +(qemu) QEMU_PROG: Initialization of device lsi53c895a failed: Device needs 
> media, but drive is empty
> +
> +Testing: -drive if=none,id=disk -device ide-cd,drive=disk
> +QEMU X.Y.Z monitor - type 'help' for more information
> +(qemu) qququiquit
> +
> +Testing: -drive if=none,id=disk -device lsi53c895a -device scsi-cd,drive=disk
> +QEMU X.Y.Z monitor - type 'help' for more information
> +(qemu) qququiquit
> +
> +Testing: -drive if=none,id=disk -device ide-drive,drive=disk
> +QEMU X.Y.Z monitor - type 'help' for more information
> +(qemu) QEMU_PROG: -device ide-drive,drive=disk: Device needs media, but 
> drive is empty
> +QEMU_PROG: -device ide-drive,drive=disk: Device initialization failed.
> +
> +Testing: -drive if=none,id=disk -device ide-hd,drive=disk
> +QEMU X.Y.Z monitor - type 'help' for more information
> +(qemu) QEMU_PROG: -device ide-hd,drive=disk: Device needs media, but drive 
> is empty
> +QEMU_PROG: -device ide-hd,drive=disk: Device initialization failed.
> +
> +Testing: -drive if=none,id=disk -device lsi53c895a -device 
> scsi-disk,drive=disk
> +QEMU X.Y.Z monitor - type 'help' for more information
> +(qemu) QEMU_PROG: -device scsi-disk,drive=disk: Device needs media, but 
> drive is empty
> +
> +Testing: -drive if=none,id=disk -device lsi53c895a -device scsi-hd,drive=disk
> +QEMU X.Y.Z monitor - type 'help' for more information
> +(qemu) QEMU_PROG: -device scsi-hd,drive=disk: Device needs media, but drive 
> is empty
> +
> +
> +=== Read-only ===
> +
> +Testing: -drive file=TEST_DIR/t.qcow2,if=floppy,readonly=on
> +QEMU X.Y.Z monitor - type 'help' for more information
> +(qemu) qququiquit
> +
> +Testing: -drive file=TEST_DIR/t.qcow2,if=ide,media=cdrom,readonly=on
> +QEMU X.Y.Z monitor - type 'help' for more information
> +(qemu) qququiquit
> +
> +Testing: -drive file=TEST_DIR/t.qcow2,if=scsi,media=cdrom,readonly=on
> +QEMU X.Y.Z monitor - type 'help' for more information
> +(qemu) qququiquit
> +
> +Testing: -drive file=TEST_DIR/t.qcow2,if=ide,readonly=on
> +QEMU X.Y.Z monitor - type 'help' for more information
> +(qemu) QEMU_PROG: Can't use a read-only drive
> +QEMU_PROG: Initialization of device ide-hd failed: Device initialization 
> failed.
> +
> +Testing: -drive file=TEST_DIR/t.qcow2,if=virtio,readonly=on
> +QEMU X.Y.Z monitor - type 'help' for more information
> +(qemu) qququiquit
> +
> +Testing: -drive file=TEST_DIR/t.qcow2,if=scsi,readonly=on
> +QEMU X.Y.Z monitor - type 'help' for more information
> +(qemu) qququiquit
> +
> +Testing: -drive file=TEST_DIR/t.qcow2,if=none,id=disk,readonly=on -device 
> ide-cd,drive=disk
> +QEMU X.Y.Z monitor - type 'help' for more information
> +(qemu) qququiquit
> +
> +Testing: -drive file=TEST_DIR/t.qcow2,if=none,id=disk,readonly=on -device 
> lsi53c895a -device scsi-cd,drive=disk
> +QEMU X.Y.Z monitor - type 'help' for more information
> +(qemu) qququiquit
> +
> +Testing: -drive file=TEST_DIR/t.qcow2,if=none,id=disk,readonly=on -device 
> ide-drive,drive=disk
> +QEMU X.Y.Z monitor - type 'help' for more information
> +(qemu) QEMU_PROG: -device ide-drive,drive=disk: Can't use a read-only drive
> +QEMU_PROG: -device ide-drive,drive=disk: Device initialization failed.
> +
> +Testing: -drive file=TEST_DIR/t.qcow2,if=none,id=disk,readonly=on -device 
> ide-hd,drive=disk
> +QEMU X.Y.Z monitor - type 'help' for more information
> +(qemu) QEMU_PROG: -device ide-hd,drive=disk: Can't use a read-only drive
> +QEMU_PROG: -device ide-hd,drive=disk: Device initialization failed.
> +
> +Testing: -drive file=TEST_DIR/t.qcow2,if=none,id=disk,readonly=on -device 
> lsi53c895a -device scsi-disk,drive=disk
> +QEMU X.Y.Z monitor - type 'help' for more information
> +(qemu) qququiquit
> +
> +Testing: -drive file=TEST_DIR/t.qcow2,if=none,id=disk,readonly=on -device 
> lsi53c895a -device scsi-hd,drive=disk
> +QEMU X.Y.Z monitor - type 'help' for more information
> +(qemu) qququiquit
> +
> +
> +=== Cache modes ===
> +
> +Testing: -drive media=cdrom,cache=none
> +QEMU X.Y.Z monitor - type 'help' for more information
> +(qemu) qququiquit
> +
> +Testing: -drive media=cdrom,cache=directsync
> +QEMU X.Y.Z monitor - type 'help' for more information
> +(qemu) qququiquit
> +
> +Testing: -drive media=cdrom,cache=writeback
> +QEMU X.Y.Z monitor - type 'help' for more information
> +(qemu) qququiquit
> +
> +Testing: -drive media=cdrom,cache=writethrough
> +QEMU X.Y.Z monitor - type 'help' for more information
> +(qemu) qququiquit
> +
> +Testing: -drive media=cdrom,cache=unsafe
> +QEMU X.Y.Z monitor - type 'help' for more information
> +(qemu) qququiquit
> +
> +Testing: -drive media=cdrom,cache=invalid_value
> +QEMU_PROG: -drive media=cdrom,cache=invalid_value: invalid cache option
> +
> +
> +=== Specifying the protocol layer ===
> +
> +Testing: -drive file=TEST_DIR/t.qcow2,file.driver=file
> +QEMU X.Y.Z monitor - type 'help' for more information
> +(qemu) qququiquit
> +
> +
> +=== Leaving out required options ===
> +
> +Testing: -drive driver=file
> +QEMU_PROG: -drive driver=file: The 'file' block driver requires a file name
> +
> +Testing: -drive driver=nbd
> +QEMU_PROG: -drive driver=nbd: one of path and host must be specified.
> +
> +Testing: -drive driver=raw
> +QEMU_PROG: -drive driver=raw: Can't use 'raw' as a block driver for the 
> protocol level
> +
> +Testing: -drive file.driver=file
> +QEMU_PROG: -drive file.driver=file: The 'file' block driver requires a file 
> name
> +
> +Testing: -drive file.driver=nbd
> +QEMU_PROG: -drive file.driver=nbd: one of path and host must be specified.
> +
> +Testing: -drive file.driver=raw
> +QEMU_PROG: -drive file.driver=raw: Can't use 'raw' as a block driver for the 
> protocol level
> +
> +Testing: -drive foo=bar
> +QEMU_PROG: -drive foo=bar: Must specify either driver or file
> +
> +
> +=== Specifying both an option and its legacy alias ===
> +
> +Testing: -drive file=TEST_DIR/t.qcow2,iops=1234,throttling.iops-total=5678
> +QEMU_PROG: -drive 
> file=TEST_DIR/t.qcow2,iops=1234,throttling.iops-total=5678: 
> 'throttling.iops-total' and its alias 'iops' can't be used at the same time
> +
> +Testing: -drive file=TEST_DIR/t.qcow2,iops_rd=1234,throttling.iops-read=5678
> +QEMU_PROG: -drive 
> file=TEST_DIR/t.qcow2,iops_rd=1234,throttling.iops-read=5678: 
> 'throttling.iops-read' and its alias 'iops_rd' can't be used at the same time
> +
> +Testing: -drive file=TEST_DIR/t.qcow2,iops_wr=1234,throttling.iops-write=5678
> +QEMU_PROG: -drive 
> file=TEST_DIR/t.qcow2,iops_wr=1234,throttling.iops-write=5678: 
> 'throttling.iops-write' and its alias 'iops_wr' can't be used at the same time
> +
> +Testing: -drive file=TEST_DIR/t.qcow2,bps=1234,throttling.bps-total=5678
> +QEMU_PROG: -drive file=TEST_DIR/t.qcow2,bps=1234,throttling.bps-total=5678: 
> 'throttling.bps-total' and its alias 'bps' can't be used at the same time
> +
> +Testing: -drive file=TEST_DIR/t.qcow2,bps_rd=1234,throttling.bps-read=5678
> +QEMU_PROG: -drive 
> file=TEST_DIR/t.qcow2,bps_rd=1234,throttling.bps-read=5678: 
> 'throttling.bps-read' and its alias 'bps_rd' can't be used at the same time
> +
> +Testing: -drive file=TEST_DIR/t.qcow2,bps_wr=1234,throttling.bps-write=5678
> +QEMU_PROG: -drive 
> file=TEST_DIR/t.qcow2,bps_wr=1234,throttling.bps-write=5678: 
> 'throttling.bps-write' and its alias 'bps_wr' can't be used at the same time
> +
> +Testing: -drive 
> file=TEST_DIR/t.qcow2,iops_max=1234,throttling.iops-total-max=5678
> +QEMU_PROG: -drive 
> file=TEST_DIR/t.qcow2,iops_max=1234,throttling.iops-total-max=5678: 
> 'throttling.iops-total-max' and its alias 'iops_max' can't be used at the 
> same time
> +
> +Testing: -drive 
> file=TEST_DIR/t.qcow2,iops_rd_max=1234,throttling.iops-read-max=5678
> +QEMU_PROG: -drive 
> file=TEST_DIR/t.qcow2,iops_rd_max=1234,throttling.iops-read-max=5678: 
> 'throttling.iops-read-max' and its alias 'iops_rd_max' can't be used at the 
> same time
> +
> +Testing: -drive 
> file=TEST_DIR/t.qcow2,iops_wr_max=1234,throttling.iops-write-max=5678
> +QEMU_PROG: -drive 
> file=TEST_DIR/t.qcow2,iops_wr_max=1234,throttling.iops-write-max=5678: 
> 'throttling.iops-write-max' and its alias 'iops_wr_max' can't be used at the 
> same time
> +
> +Testing: -drive 
> file=TEST_DIR/t.qcow2,bps_max=1234,throttling.bps-total-max=5678
> +QEMU_PROG: -drive 
> file=TEST_DIR/t.qcow2,bps_max=1234,throttling.bps-total-max=5678: 
> 'throttling.bps-total-max' and its alias 'bps_max' can't be used at the same 
> time
> +
> +Testing: -drive 
> file=TEST_DIR/t.qcow2,bps_rd_max=1234,throttling.bps-read-max=5678
> +QEMU_PROG: -drive 
> file=TEST_DIR/t.qcow2,bps_rd_max=1234,throttling.bps-read-max=5678: 
> 'throttling.bps-read-max' and its alias 'bps_rd_max' can't be used at the 
> same time
> +
> +Testing: -drive 
> file=TEST_DIR/t.qcow2,bps_wr_max=1234,throttling.bps-write-max=5678
> +QEMU_PROG: -drive 
> file=TEST_DIR/t.qcow2,bps_wr_max=1234,throttling.bps-write-max=5678: 
> 'throttling.bps-write-max' and its alias 'bps_wr_max' can't be used at the 
> same time
> +
> +Testing: -drive 
> file=TEST_DIR/t.qcow2,iops_size=1234,throttling.iops-size=5678
> +QEMU_PROG: -drive 
> file=TEST_DIR/t.qcow2,iops_size=1234,throttling.iops-size=5678: 
> 'throttling.iops-size' and its alias 'iops_size' can't be used at the same 
> time
> +
> +Testing: -drive file=TEST_DIR/t.qcow2,readonly=on,read-only=off
> +QEMU_PROG: -drive file=TEST_DIR/t.qcow2,readonly=on,read-only=off: 
> 'read-only' and its alias 'readonly' can't be used at the same time
> +
> +
> +=== Parsing protocol from file name ===
> +
> +Testing: -hda foo:bar
> +QEMU_PROG: -hda foo:bar: Unknown protocol 'foo'
> +
> +Testing: -drive file=foo:bar
> +QEMU_PROG: -drive file=foo:bar: Unknown protocol 'foo'
> +
> +Testing: -drive file.filename=foo:bar
> +QEMU_PROG: -drive file.filename=foo:bar: Could not open 'foo:bar': No such 
> file or directory
> +
> +Testing: -hda file:TEST_DIR/t.qcow2
> +QEMU X.Y.Z monitor - type 'help' for more information
> +(qemu) qququiquit
> +
> +Testing: -drive file=file:TEST_DIR/t.qcow2
> +QEMU X.Y.Z monitor - type 'help' for more information
> +(qemu) qququiquit
> +
> +Testing: -drive file.filename=file:TEST_DIR/t.qcow2
> +QEMU_PROG: -drive file.filename=file:TEST_DIR/t.qcow2: Could not open 
> 'file:TEST_DIR/t.qcow2': No such file or directory
> +
> +
> +=== 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 iqemu-io 
> idqemu-io 
> ideqemu-io 
> ide0qemu-io 
> ide0-qemu-io 
> ide0-hqemu-io 
> ide0-hdqemu-io 
> ide0-hd0qemu-io ide0-hd0 
> qemu-io ide0-hd0 
> "qemu-io ide0-hd0 
> "wqemu-io 
> ide0-hd0 
> "wrqemu-io 
> ide0-hd0 "wri!
>  qemu-io ide0-hd0 
> "writqemu-io
>  ide0-hd0 
> "writeqemu-io
>  ide0-hd0 "write 
> qemu-io
>  ide0-hd0 "write 
> -qemu-io
>  ide0-hd0 "write 
> -Pqemu-io
>  ide0-hd0 "write -P 
> qemu-io
>  ide0-hd0 "write -P 
> 0qemu-io
>  ide0-hd0 "write -P 
> 0xqemu-io
>  ide0-hd0 "write -P 
> 0x2qemu-io
>  ide0-hd0 "w!
>  rite -P 
> 0x22qemu-io
>  ide0-hd0 "write -P 0x22 
> qemu-io
>  ide0-hd0 "write -P 0x22 
> 0qemu-io
>  ide0-hd0 "write -P 0x22 0 
> qemu-io
>  ide0-hd0 "write -P 0x22 0 
> 4qemu-io
>  ide0-hd0 "write -P 0x22 0 
> 4kqemu-io
>  ide0-hd0 "write -P 0x22 0 4k"
> +wrote 4096/4096 bytes at offset 0
> +4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
> +(qemu) qququiquit
> +
> +Testing: -drive file=TEST_DIR/t.qcow2,snapshot=on
> +QEMU X.Y.Z monitor - type 'help' for more information
> +(qemu) 
> qqeqemqemuqemu-qemu-iqemu-ioqemu-io
>  qemu-io iqemu-io 
> idqemu-io 
> ideqemu-io 
> ide0qemu-io 
> ide0-qemu-io 
> ide0-hqemu-io 
> ide0-hdqemu-io 
> ide0-hd0qemu-io ide0-hd0 
> qemu-io ide0-hd0 
> "qemu-io ide0-hd0 
> "wqemu-io 
> ide0-hd0 
> "wrqemu-io 
> ide0-hd0 "wri!
>  qemu-io ide0-hd0 
> "writqemu-io
>  ide0-hd0 
> "writeqemu-io
>  ide0-hd0 "write 
> qemu-io
>  ide0-hd0 "write 
> -qemu-io
>  ide0-hd0 "write 
> -Pqemu-io
>  ide0-hd0 "write -P 
> qemu-io
>  ide0-hd0 "write -P 
> 0qemu-io
>  ide0-hd0 "write -P 
> 0xqemu-io
>  ide0-hd0 "write -P 
> 0x2qemu-io
>  ide0-hd0 "w!
>  rite -P 
> 0x22qemu-io
>  ide0-hd0 "write -P 0x22 
> qemu-io
>  ide0-hd0 "write -P 0x22 
> 0qemu-io
>  ide0-hd0 "write -P 0x22 0 
> qemu-io
>  ide0-hd0 "write -P 0x22 0 
> 4qemu-io
>  ide0-hd0 "write -P 0x22 0 
> 4kqemu-io
>  ide0-hd0 "write -P 0x22 0 4k"
> +wrote 4096/4096 bytes at offset 0
> +4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
> +(qemu) qququiquit
> +
> +Testing: -drive file.filename=TEST_DIR/t.qcow2,driver=qcow2,snapshot=on
> +QEMU X.Y.Z monitor - type 'help' for more information
> +(qemu) 
> qqeqemqemuqemu-qemu-iqemu-ioqemu-io
>  qemu-io iqemu-io 
> idqemu-io 
> ideqemu-io 
> ide0qemu-io 
> ide0-qemu-io 
> ide0-hqemu-io 
> ide0-hdqemu-io 
> ide0-hd0qemu-io ide0-hd0 
> qemu-io ide0-hd0 
> "qemu-io ide0-hd0 
> "wqemu-io 
> ide0-hd0 
> "wrqemu-io 
> ide0-hd0 "wri!
>  qemu-io ide0-hd0 
> "writqemu-io
>  ide0-hd0 
> "writeqemu-io
>  ide0-hd0 "write 
> qemu-io
>  ide0-hd0 "write 
> -qemu-io
>  ide0-hd0 "write 
> -Pqemu-io
>  ide0-hd0 "write -P 
> qemu-io
>  ide0-hd0 "write -P 
> 0qemu-io
>  ide0-hd0 "write -P 
> 0xqemu-io
>  ide0-hd0 "write -P 
> 0x2qemu-io
>  ide0-hd0 "w!
>  rite -P 
> 0x22qemu-io
>  ide0-hd0 "write -P 0x22 
> qemu-io
>  ide0-hd0 "write -P 0x22 
> 0qemu-io
>  ide0-hd0 "write -P 0x22 0 
> qemu-io
>  ide0-hd0 "write -P 0x22 0 
> 4qemu-io
>  ide0-hd0 "write -P 0x22 0 
> 4kqemu-io
>  ide0-hd0 "write -P 0x22 0 4k"
> +wrote 4096/4096 bytes at offset 0
> +4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
> +(qemu) qququiquit
> +
> +Testing: -drive file.filename=TEST_DIR/t.qcow2,driver=qcow2 -snapshot
> +QEMU X.Y.Z monitor - type 'help' for more information
> +(qemu) 
> qqeqemqemuqemu-qemu-iqemu-ioqemu-io
>  qemu-io iqemu-io 
> idqemu-io 
> ideqemu-io 
> ide0qemu-io 
> ide0-qemu-io 
> ide0-hqemu-io 
> ide0-hdqemu-io 
> ide0-hd0qemu-io ide0-hd0 
> qemu-io ide0-hd0 
> "qemu-io ide0-hd0 
> "wqemu-io 
> ide0-hd0 
> "wrqemu-io 
> ide0-hd0 "wri!
>  qemu-io ide0-hd0 
> "writqemu-io
>  ide0-hd0 
> "writeqemu-io
>  ide0-hd0 "write 
> qemu-io
>  ide0-hd0 "write 
> -qemu-io
>  ide0-hd0 "write 
> -Pqemu-io
>  ide0-hd0 "write -P 
> qemu-io
>  ide0-hd0 "write -P 
> 0qemu-io
>  ide0-hd0 "write -P 
> 0xqemu-io
>  ide0-hd0 "write -P 
> 0x2qemu-io
>  ide0-hd0 "w!
>  rite -P 
> 0x22qemu-io
>  ide0-hd0 "write -P 0x22 
> qemu-io
>  ide0-hd0 "write -P 0x22 
> 0qemu-io
>  ide0-hd0 "write -P 0x22 0 
> qemu-io
>  ide0-hd0 "write -P 0x22 0 
> 4qemu-io
>  ide0-hd0 "write -P 0x22 0 
> 4kqemu-io
>  ide0-hd0 "write -P 0x22 0 4k"
> +wrote 4096/4096 bytes at offset 0
> +4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
> +(qemu) qququiquit
> +
> +Testing: -drive file=file:TEST_DIR/t.qcow2 -snapshot
> +QEMU X.Y.Z monitor - type 'help' for more information
> +(qemu) 
> qqeqemqemuqemu-qemu-iqemu-ioqemu-io
>  qemu-io iqemu-io 
> idqemu-io 
> ideqemu-io 
> ide0qemu-io 
> ide0-qemu-io 
> ide0-hqemu-io 
> ide0-hdqemu-io 
> ide0-hd0qemu-io ide0-hd0 
> qemu-io ide0-hd0 
> "qemu-io ide0-hd0 
> "wqemu-io 
> ide0-hd0 
> "wrqemu-io 
> ide0-hd0 "wri!
>  qemu-io ide0-hd0 
> "writqemu-io
>  ide0-hd0 
> "writeqemu-io
>  ide0-hd0 "write 
> qemu-io
>  ide0-hd0 "write 
> -qemu-io
>  ide0-hd0 "write 
> -Pqemu-io
>  ide0-hd0 "write -P 
> qemu-io
>  ide0-hd0 "write -P 
> 0qemu-io
>  ide0-hd0 "write -P 
> 0xqemu-io
>  ide0-hd0 "write -P 
> 0x2qemu-io
>  ide0-hd0 "w!
>  rite -P 
> 0x22qemu-io
>  ide0-hd0 "write -P 0x22 
> qemu-io
>  ide0-hd0 "write -P 0x22 
> 0qemu-io
>  ide0-hd0 "write -P 0x22 0 
> qemu-io
>  ide0-hd0 "write -P 0x22 0 
> 4qemu-io
>  ide0-hd0 "write -P 0x22 0 
> 4kqemu-io
>  ide0-hd0 "write -P 0x22 0 4k"
> +wrote 4096/4096 bytes at offset 0
> +4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
> +(qemu) qququiquit
> +
> +Testing: -drive file=file:TEST_DIR/t.qcow2,snapshot=on
> +QEMU X.Y.Z monitor - type 'help' for more information
> +(qemu) 
> qqeqemqemuqemu-qemu-iqemu-ioqemu-io
>  qemu-io iqemu-io 
> idqemu-io 
> ideqemu-io 
> ide0qemu-io 
> ide0-qemu-io 
> ide0-hqemu-io 
> ide0-hdqemu-io 
> ide0-hd0qemu-io ide0-hd0 
> qemu-io ide0-hd0 
> "qemu-io ide0-hd0 
> "wqemu-io 
> ide0-hd0 
> "wrqemu-io 
> ide0-hd0 "wri!
>  qemu-io ide0-hd0 
> "writqemu-io
>  ide0-hd0 
> "writeqemu-io
>  ide0-hd0 "write 
> qemu-io
>  ide0-hd0 "write 
> -qemu-io
>  ide0-hd0 "write 
> -Pqemu-io
>  ide0-hd0 "write -P 
> qemu-io
>  ide0-hd0 "write -P 
> 0qemu-io
>  ide0-hd0 "write -P 
> 0xqemu-io
>  ide0-hd0 "write -P 
> 0x2qemu-io
>  ide0-hd0 "w!
>  rite -P 
> 0x22qemu-io
>  ide0-hd0 "write -P 0x22 
> qemu-io
>  ide0-hd0 "write -P 0x22 
> 0qemu-io
>  ide0-hd0 "write -P 0x22 0 
> qemu-io
>  ide0-hd0 "write -P 0x22 0 
> 4qemu-io
>  ide0-hd0 "write -P 0x22 0 
> 4kqemu-io
>  ide0-hd0 "write -P 0x22 0 4k"
> +wrote 4096/4096 bytes at offset 0
> +4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
> +(qemu) qququiquit
> +
> +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 iqemu-io 
> idqemu-io 
> ideqemu-io 
> ide0qemu-io 
> ide0-qemu-io 
> ide0-hqemu-io 
> ide0-hdqemu-io 
> ide0-hd0qemu-io ide0-hd0 
> qemu-io ide0-hd0 
> "qemu-io ide0-hd0 
> "wqemu-io 
> ide0-hd0 
> "wrqemu-io 
> ide0-hd0 "wri!
>  qemu-io ide0-hd0 
> "writqemu-io
>  ide0-hd0 
> "writeqemu-io
>  ide0-hd0 "write 
> qemu-io
>  ide0-hd0 "write 
> -qemu-io
>  ide0-hd0 "write 
> -Pqemu-io
>  ide0-hd0 "write -P 
> qemu-io
>  ide0-hd0 "write -P 
> 0qemu-io
>  ide0-hd0 "write -P 
> 0xqemu-io
>  ide0-hd0 "write -P 
> 0x2qemu-io
>  ide0-hd0 "w!
>  rite -P 
> 0x22qemu-io
>  ide0-hd0 "write -P 0x22 
> qemu-io
>  ide0-hd0 "write -P 0x22 
> 0qemu-io
>  ide0-hd0 "write -P 0x22 0 
> qemu-io
>  ide0-hd0 "write -P 0x22 0 
> 4qemu-io
>  ide0-hd0 "write -P 0x22 0 
> 4kqemu-io
>  ide0-hd0 "write -P 0x22 0 4k"
> +wrote 4096/4096 bytes at offset 0
> +4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
> +(qemu) qququiquit
> +
> +Testing: -drive file=TEST_DIR/t.qcow2,snapshot=on
> +QEMU X.Y.Z monitor - type 'help' for more information
> +(qemu) 
> qqeqemqemuqemu-qemu-iqemu-ioqemu-io
>  qemu-io iqemu-io 
> idqemu-io 
> ideqemu-io 
> ide0qemu-io 
> ide0-qemu-io 
> ide0-hqemu-io 
> ide0-hdqemu-io 
> ide0-hd0qemu-io ide0-hd0 
> qemu-io ide0-hd0 
> "qemu-io ide0-hd0 
> "wqemu-io 
> ide0-hd0 
> "wrqemu-io 
> ide0-hd0 "wri!
>  qemu-io ide0-hd0 
> "writqemu-io
>  ide0-hd0 
> "writeqemu-io
>  ide0-hd0 "write 
> qemu-io
>  ide0-hd0 "write 
> -qemu-io
>  ide0-hd0 "write 
> -Pqemu-io
>  ide0-hd0 "write -P 
> qemu-io
>  ide0-hd0 "write -P 
> 0qemu-io
>  ide0-hd0 "write -P 
> 0xqemu-io
>  ide0-hd0 "write -P 
> 0x2qemu-io
>  ide0-hd0 "w!
>  rite -P 
> 0x22qemu-io
>  ide0-hd0 "write -P 0x22 
> qemu-io
>  ide0-hd0 "write -P 0x22 
> 0qemu-io
>  ide0-hd0 "write -P 0x22 0 
> qemu-io
>  ide0-hd0 "write -P 0x22 0 
> 4qemu-io
>  ide0-hd0 "write -P 0x22 0 
> 4kqemu-io
>  ide0-hd0 "write -P 0x22 0 4k"
> +wrote 4096/4096 bytes at offset 0
> +4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
> +(qemu) qququiquit
> +
> +read 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=off
> +QEMU X.Y.Z monitor - type 'help' for more information
> +(qemu) 
> qqeqemqemuqemu-qemu-iqemu-ioqemu-io
>  qemu-io iqemu-io 
> idqemu-io 
> ideqemu-io 
> ide0qemu-io 
> ide0-qemu-io 
> ide0-hqemu-io 
> ide0-hdqemu-io 
> ide0-hd0qemu-io ide0-hd0 
> qemu-io ide0-hd0 
> "qemu-io ide0-hd0 
> "wqemu-io 
> ide0-hd0 
> "wrqemu-io 
> ide0-hd0 "wri!
>  qemu-io ide0-hd0 
> "writqemu-io
>  ide0-hd0 
> "writeqemu-io
>  ide0-hd0 "write 
> qemu-io
>  ide0-hd0 "write 
> -qemu-io
>  ide0-hd0 "write 
> -Pqemu-io
>  ide0-hd0 "write -P 
> qemu-io
>  ide0-hd0 "write -P 
> 0qemu-io
>  ide0-hd0 "write -P 
> 0xqemu-io
>  ide0-hd0 "write -P 
> 0x2qemu-io
>  ide0-hd0 "w!
>  rite -P 
> 0x22qemu-io
>  ide0-hd0 "write -P 0x22 
> qemu-io
>  ide0-hd0 "write -P 0x22 
> 0qemu-io
>  ide0-hd0 "write -P 0x22 0 
> qemu-io
>  ide0-hd0 "write -P 0x22 0 
> 4qemu-io
>  ide0-hd0 "write -P 0x22 0 
> 4kqemu-io
>  ide0-hd0 "write -P 0x22 0 4k"
> +wrote 4096/4096 bytes at offset 0
> +4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
> +(qemu) qququiquit
> +
> +read 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=on
> +QEMU X.Y.Z monitor - type 'help' for more information
> +(qemu) 
> qqeqemqemuqemu-qemu-iqemu-ioqemu-io
>  qemu-io iqemu-io 
> idqemu-io 
> ideqemu-io 
> ide0qemu-io 
> ide0-qemu-io 
> ide0-hqemu-io 
> ide0-hdqemu-io 
> ide0-hd0qemu-io ide0-hd0 
> qemu-io ide0-hd0 
> "qemu-io ide0-hd0 
> "wqemu-io 
> ide0-hd0 
> "wrqemu-io 
> ide0-hd0 "wri!
>  qemu-io ide0-hd0 
> "writqemu-io
>  ide0-hd0 
> "writeqemu-io
>  ide0-hd0 "write 
> qemu-io
>  ide0-hd0 "write 
> -qemu-io
>  ide0-hd0 "write 
> -Pqemu-io
>  ide0-hd0 "write -P 
> qemu-io
>  ide0-hd0 "write -P 
> 0qemu-io
>  ide0-hd0 "write -P 
> 0xqemu-io
>  ide0-hd0 "write -P 
> 0x3qemu-io
>  ide0-hd0 "w!
>  rite -P 
> 0x33qemu-io
>  ide0-hd0 "write -P 0x33 
> qemu-io
>  ide0-hd0 "write -P 0x33 
> 0qemu-io
>  ide0-hd0 "write -P 0x33 0 
> qemu-io
>  ide0-hd0 "write -P 0x33 0 
> 4qemu-io
>  ide0-hd0 "write -P 0x33 0 
> 4kqemu-io
>  ide0-hd0 "write -P 0x33 0 4k"
> +wrote 4096/4096 bytes at offset 0
> +4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
> +(qemu) 
> ccocomcommcommicommitcommit
>  commit icommit 
> idcommit 
> idecommit 
> ide0commit 
> ide0-commit 
> ide0-hcommit 
> ide0-hdcommit ide0-hd0
> +(qemu) qququiquit
> +
> +read 4096/4096 bytes at offset 0
> +4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
> +*** done
> diff --git a/tests/qemu-iotests/051.s390.out b/tests/qemu-iotests/051.s390.out
> new file mode 100644
> index 0000000..d17c969
> --- /dev/null
> +++ b/tests/qemu-iotests/051.s390.out
> @@ -0,0 +1,335 @@
> +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=: 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: 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: 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: 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=: 
> 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: 
> 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: 
> 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: 
> 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: Unknown driver 'foo'
> +
> +Testing: -drive file=TEST_DIR/t.qcow2,driver=foo
> +QEMU_PROG: -drive file=TEST_DIR/t.qcow2,driver=foo: 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: Cannot 
> specify both 'driver' and 'format'
> +
> +Testing: -drive file=TEST_DIR/t.qcow2,driver=qcow2,format=qcow2
> +QEMU_PROG: -drive file=TEST_DIR/t.qcow2,driver=qcow2,format=qcow2: Cannot 
> specify both 'driver' and 'format'
> +
> +
> +=== Device without drive ===
> +
> +Testing: -device virtio-scsi-pci -device scsi-hd
> +QEMU X.Y.Z monitor - type 'help' for more information
> +(qemu) QEMU_PROG: -device scsi-hd: drive property not set
> +
> +
> +=== 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 (NODE_NAME): TEST_DIR/t.qcow2 (qcow2)
> +    Cache mode:       writeback
> +    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: 
> 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:
>  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:
>  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=: 
> 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: 
> 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: 
> 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: 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
> +
> +Testing: -drive if=ide,media=cdrom
> +QEMU X.Y.Z monitor - type 'help' for more information
> +(qemu) Warning: Orphaned drive without device: 
> id=ide0-cd0,file=,if=ide,bus=0,unit=0
> +qququiquit
> +
> +Testing: -drive if=scsi,media=cdrom
> +QEMU X.Y.Z monitor - type 'help' for more information
> +(qemu) Warning: Orphaned drive without device: 
> id=scsi0-cd0,file=,if=scsi,bus=0,unit=0
> +qququiquit
> +
> +Testing: -drive if=ide
> +QEMU X.Y.Z monitor - type 'help' for more information
> +(qemu) Warning: Orphaned drive without device: 
> id=ide0-hd0,file=,if=ide,bus=0,unit=0
> +qququiquit
> +
> +Testing: -drive if=virtio
> +QEMU X.Y.Z monitor - type 'help' for more information
> +(qemu) QEMU_PROG: -drive if=virtio: Device needs media, but drive is empty
> +
> +Testing: -drive if=scsi
> +QEMU X.Y.Z monitor - type 'help' for more information
> +(qemu) Warning: Orphaned drive without device: 
> id=scsi0-hd0,file=,if=scsi,bus=0,unit=0
> +qququiquit
> +
> +
> +=== Read-only ===
> +
> +Testing: -drive file=TEST_DIR/t.qcow2,if=virtio,readonly=on
> +QEMU X.Y.Z monitor - type 'help' for more information
> +(qemu) qququiquit
> +
> +Testing: -drive file=TEST_DIR/t.qcow2,if=scsi,readonly=on
> +QEMU X.Y.Z monitor - type 'help' for more information
> +(qemu) Warning: Orphaned drive without device: 
> id=scsi0-hd0,file=TEST_DIR/t.qcow2,if=scsi,bus=0,unit=0
> +qququiquit
> +
> +
> +=== Cache modes ===
> +
> +
> +=== Specifying the protocol layer ===
> +
> +Testing: -drive file=TEST_DIR/t.qcow2,file.driver=file
> +QEMU X.Y.Z monitor - type 'help' for more information
> +(qemu) qququiquit
> +
> +
> +=== Leaving out required options ===
> +
> +Testing: -drive driver=file
> +QEMU_PROG: -drive driver=file: The 'file' block driver requires a file name
> +
> +Testing: -drive driver=nbd
> +QEMU_PROG: -drive driver=nbd: one of path and host must be specified.
> +
> +Testing: -drive driver=raw
> +QEMU_PROG: -drive driver=raw: Can't use 'raw' as a block driver for the 
> protocol level
> +
> +Testing: -drive file.driver=file
> +QEMU_PROG: -drive file.driver=file: The 'file' block driver requires a file 
> name
> +
> +Testing: -drive file.driver=nbd
> +QEMU_PROG: -drive file.driver=nbd: one of path and host must be specified.
> +
> +Testing: -drive file.driver=raw
> +QEMU_PROG: -drive file.driver=raw: Can't use 'raw' as a block driver for the 
> protocol level
> +
> +Testing: -drive foo=bar
> +QEMU_PROG: -drive foo=bar: Must specify either driver or file
> +
> +
> +=== Specifying both an option and its legacy alias ===
> +
> +Testing: -drive file=TEST_DIR/t.qcow2,iops=1234,throttling.iops-total=5678
> +QEMU_PROG: -drive 
> file=TEST_DIR/t.qcow2,iops=1234,throttling.iops-total=5678: 
> 'throttling.iops-total' and its alias 'iops' can't be used at the same time
> +
> +Testing: -drive file=TEST_DIR/t.qcow2,iops_rd=1234,throttling.iops-read=5678
> +QEMU_PROG: -drive 
> file=TEST_DIR/t.qcow2,iops_rd=1234,throttling.iops-read=5678: 
> 'throttling.iops-read' and its alias 'iops_rd' can't be used at the same time
> +
> +Testing: -drive file=TEST_DIR/t.qcow2,iops_wr=1234,throttling.iops-write=5678
> +QEMU_PROG: -drive 
> file=TEST_DIR/t.qcow2,iops_wr=1234,throttling.iops-write=5678: 
> 'throttling.iops-write' and its alias 'iops_wr' can't be used at the same time
> +
> +Testing: -drive file=TEST_DIR/t.qcow2,bps=1234,throttling.bps-total=5678
> +QEMU_PROG: -drive file=TEST_DIR/t.qcow2,bps=1234,throttling.bps-total=5678: 
> 'throttling.bps-total' and its alias 'bps' can't be used at the same time
> +
> +Testing: -drive file=TEST_DIR/t.qcow2,bps_rd=1234,throttling.bps-read=5678
> +QEMU_PROG: -drive 
> file=TEST_DIR/t.qcow2,bps_rd=1234,throttling.bps-read=5678: 
> 'throttling.bps-read' and its alias 'bps_rd' can't be used at the same time
> +
> +Testing: -drive file=TEST_DIR/t.qcow2,bps_wr=1234,throttling.bps-write=5678
> +QEMU_PROG: -drive 
> file=TEST_DIR/t.qcow2,bps_wr=1234,throttling.bps-write=5678: 
> 'throttling.bps-write' and its alias 'bps_wr' can't be used at the same time
> +
> +Testing: -drive 
> file=TEST_DIR/t.qcow2,iops_max=1234,throttling.iops-total-max=5678
> +QEMU_PROG: -drive 
> file=TEST_DIR/t.qcow2,iops_max=1234,throttling.iops-total-max=5678: 
> 'throttling.iops-total-max' and its alias 'iops_max' can't be used at the 
> same time
> +
> +Testing: -drive 
> file=TEST_DIR/t.qcow2,iops_rd_max=1234,throttling.iops-read-max=5678
> +QEMU_PROG: -drive 
> file=TEST_DIR/t.qcow2,iops_rd_max=1234,throttling.iops-read-max=5678: 
> 'throttling.iops-read-max' and its alias 'iops_rd_max' can't be used at the 
> same time
> +
> +Testing: -drive 
> file=TEST_DIR/t.qcow2,iops_wr_max=1234,throttling.iops-write-max=5678
> +QEMU_PROG: -drive 
> file=TEST_DIR/t.qcow2,iops_wr_max=1234,throttling.iops-write-max=5678: 
> 'throttling.iops-write-max' and its alias 'iops_wr_max' can't be used at the 
> same time
> +
> +Testing: -drive 
> file=TEST_DIR/t.qcow2,bps_max=1234,throttling.bps-total-max=5678
> +QEMU_PROG: -drive 
> file=TEST_DIR/t.qcow2,bps_max=1234,throttling.bps-total-max=5678: 
> 'throttling.bps-total-max' and its alias 'bps_max' can't be used at the same 
> time
> +
> +Testing: -drive 
> file=TEST_DIR/t.qcow2,bps_rd_max=1234,throttling.bps-read-max=5678
> +QEMU_PROG: -drive 
> file=TEST_DIR/t.qcow2,bps_rd_max=1234,throttling.bps-read-max=5678: 
> 'throttling.bps-read-max' and its alias 'bps_rd_max' can't be used at the 
> same time
> +
> +Testing: -drive 
> file=TEST_DIR/t.qcow2,bps_wr_max=1234,throttling.bps-write-max=5678
> +QEMU_PROG: -drive 
> file=TEST_DIR/t.qcow2,bps_wr_max=1234,throttling.bps-write-max=5678: 
> 'throttling.bps-write-max' and its alias 'bps_wr_max' can't be used at the 
> same time
> +
> +Testing: -drive 
> file=TEST_DIR/t.qcow2,iops_size=1234,throttling.iops-size=5678
> +QEMU_PROG: -drive 
> file=TEST_DIR/t.qcow2,iops_size=1234,throttling.iops-size=5678: 
> 'throttling.iops-size' and its alias 'iops_size' can't be used at the same 
> time
> +
> +Testing: -drive file=TEST_DIR/t.qcow2,readonly=on,read-only=off
> +QEMU_PROG: -drive file=TEST_DIR/t.qcow2,readonly=on,read-only=off: 
> 'read-only' and its alias 'readonly' can't be used at the same time
> +
> +
> +=== Parsing protocol from file name ===
> +
> +Testing: -hda foo:bar
> +QEMU_PROG: -hda foo:bar: Unknown protocol 'foo'
> +
> +Testing: -drive file=foo:bar
> +QEMU_PROG: -drive file=foo:bar: Unknown protocol 'foo'
> +
> +Testing: -drive file.filename=foo:bar
> +QEMU_PROG: -drive file.filename=foo:bar: Could not open 'foo:bar': No such 
> file or directory
> +
> +Testing: -hda file:TEST_DIR/t.qcow2
> +QEMU X.Y.Z monitor - type 'help' for more information
> +(qemu) qququiquit
> +
> +Testing: -drive file=file:TEST_DIR/t.qcow2
> +QEMU X.Y.Z monitor - type 'help' for more information
> +(qemu) qququiquit
> +
> +Testing: -drive file.filename=file:TEST_DIR/t.qcow2
> +QEMU_PROG: -drive file.filename=file:TEST_DIR/t.qcow2: Could not open 
> 'file:TEST_DIR/t.qcow2': No such file or directory
> +
> +
> +=== 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"
> +wrote 4096/4096 bytes at offset 0
> +4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
> +(qemu) qququiquit
> +
> +Testing: -drive file=TEST_DIR/t.qcow2,snapshot=on
> +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"
> +wrote 4096/4096 bytes at offset 0
> +4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
> +(qemu) qququiquit
> +
> +Testing: -drive file.filename=TEST_DIR/t.qcow2,driver=qcow2,snapshot=on
> +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"
> +wrote 4096/4096 bytes at offset 0
> +4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
> +(qemu) qququiquit
> +
> +Testing: -drive file.filename=TEST_DIR/t.qcow2,driver=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"
> +wrote 4096/4096 bytes at offset 0
> +4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
> +(qemu) qququiquit
> +
> +Testing: -drive file=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"
> +wrote 4096/4096 bytes at offset 0
> +4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
> +(qemu) qququiquit
> +
> +Testing: -drive file=file:TEST_DIR/t.qcow2,snapshot=on
> +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"
> +wrote 4096/4096 bytes at offset 0
> +4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
> +(qemu) qququiquit
> +
> +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"
> +wrote 4096/4096 bytes at offset 0
> +4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
> +(qemu) qququiquit
> +
> +Testing: -drive file=TEST_DIR/t.qcow2,snapshot=on
> +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"
> +wrote 4096/4096 bytes at offset 0
> +4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
> +(qemu) qququiquit
> +
> +read 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=off
> +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"
> +wrote 4096/4096 bytes at offset 0
> +4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
> +(qemu) qququiquit
> +
> +read 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=on
> +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 
> 0x3qemu-io
>  virtio0 "write -P 
> 0x33qemu-io
>  virtio0 "wr!
>  ite -P 0x33 
> qemu-io
>  virtio0 "write -P 0x33 
> 0qemu-io
>  virtio0 "write -P 0x33 0 
> qemu-io
>  virtio0 "write -P 0x33 0 
> 4qemu-io
>  virtio0 "write -P 0x33 0 
> 4kqemu-io
>  virtio0 "write -P 0x33 0 4k"
> +wrote 4096/4096 bytes at offset 0
> +4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
> +(qemu) 
> ccocomcommcommicommitcommit
>  commit vcommit 
> vicommit 
> vircommit 
> virtcommit 
> virticommit 
> virtiocommit virtio0
> +(qemu) qququiquit
> +
> +read 4096/4096 bytes at offset 0
> +4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
> +*** done
> diff --git a/tests/qemu-iotests/Makefile b/tests/qemu-iotests/Makefile
> index 2fb527c..a5bc8d6 100644
> --- a/tests/qemu-iotests/Makefile
> +++ b/tests/qemu-iotests/Makefile
> @@ -2,7 +2,12 @@
>  CLEANFILES= *.out.bad *.notrun check.log check.time
>  
>  # no default target
> -default:
> +default: all
> +
> +all: 051.s390-ccw-virtio.out
> +
> +051.s390-ccw-virtio.out: 051.s390.out
> +     cat $< > $@
>  
>  clean:
>       rm -f $(CLEANFILES)
> 


Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]