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: tu bo
Subject: Re: [Qemu-devel] [PATCH v3 2/3] qemu-iotests: s390x: fix test 051
Date: Tue, 1 Dec 2015 15:35:28 +0800
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0

Hi Max:

在 2015/12/1 3:38, Max Reitz 写道:
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. ;-)

It's my mistake, please forgive me for it.


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).

Adding a copy of 051.s390.out is not perfect, but acceptable.


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).

I got your idea. we can get the common output(051.out) for the final part of the test ("=== Snapshot mode ===") with this solution.

However, other parts of this test has different outputs as below,
1. s390x has no output for some test commands for "=== No medium ===", "=== Read-only ===" and "=== Cache modes ===". for example, "line 204 - 209" has output for pc, but no output for s390x.

    202 case "$QEMU_DEFAULT_MACHINE" in
    203     pc)
    204         run_qemu -drive media=cdrom,cache=none
    205         run_qemu -drive media=cdrom,cache=directsync
    206         run_qemu -drive media=cdrom,cache=writeback
    207         run_qemu -drive media=cdrom,cache=writethrough
    208         run_qemu -drive media=cdrom,cache=unsafe
    209         run_qemu -drive media=cdrom,cache=invalid_value
    210         ;;
    211      *)
    212         ;;
    213 esac

2. s390x has "Warning: Orphaned drive without device:" for
run_qemu -drive file="$TEST_IMG",if=scsi,readonly=on
run_qemu -drive if=scsi

Please refer http://lists.nongnu.org/archive/html/qemu-devel/2015-11/msg04836.html.

I plan to change the final part of the test("=== Snapshot mode ===") with your solution, and adding a copy of 051.s390.out. If this is fine to you, I plan to send a new version of patch for review asap, since Christmas is coming :-)


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-hd!
0 "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-hd!
0 "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-hd!
0 "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-hd!
0 "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-hd!
0 "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-hd!
0 "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-hd!
0 "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-hd!
0 "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-hd!
0 "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-hd!
0 "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-hd!
0 "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-hd!
0 "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-hd!
0 "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-hd!
0 "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-hd!
0 "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-hd!
0 "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-hd!
0 "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-hd!
0 "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-hd!
0 "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-hd!
0 "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)







reply via email to

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