qemu/tests/qemu-iotests
Eric Blake 08fba7ac9b shutdown: Expose bool cause in SHUTDOWN and RESET events
Libvirt would like to be able to distinguish between a SHUTDOWN
event triggered solely by guest request and one triggered by a
SIGTERM or other action on the host.  While qemu_kill_report() was
already able to give different output to stderr based on whether a
shutdown was triggered by a host signal (but NOT by a host UI event,
such as clicking the X on the window), that information was then
lost to management.  The previous patches improved things to use an
enum throughout all callsites, so now we have something ready to
expose through QMP.

Note that for now, the decision was to expose ONLY a boolean,
rather than promoting ShutdownCause to a QAPI enum; this is because
libvirt has not expressed an interest in anything finer-grained.
We can still add additional details, in a backwards-compatible
manner, if a need later arises (if the addition happens before 2.10,
we can replace the bool with an enum; otherwise, the enum will have
to be in addition to the bool); this patch merely adds a helper
shutdown_caused_by_guest() to map the internal enum into the
external boolean.

Update expected iotest outputs to match the new data (complete
coverage of the affected tests is obtained by -raw, -qcow2, and -nbd).

Here is output from 'virsh qemu-monitor-event --loop' with the
patch installed:

event SHUTDOWN at 1492639680.731251 for domain fedora_13: {"guest":true}
event STOP at 1492639680.732116 for domain fedora_13: <null>
event SHUTDOWN at 1492639680.732830 for domain fedora_13: {"guest":false}

Note that libvirt runs qemu with -no-shutdown: the first SHUTDOWN event
was triggered by an action I took directly in the guest (shutdown -h),
at which point qemu stops the vcpus and waits for libvirt to do any
final cleanups; the second SHUTDOWN event is the result of libvirt
sending SIGTERM now that it has completed cleanup.  Libvirt is already
smart enough to only feed the first qemu SHUTDOWN event to the end user
(remember, virsh qemu-monitor-event is a low-level debugging interface
that is explicitly unsupported by libvirt, so it sees things that normal
end users do not); changing qemu to emit SHUTDOWN only once is outside
the scope of this series.

See also https://bugzilla.redhat.com/1384007

Signed-off-by: Eric Blake <eblake@redhat.com>
Message-Id: <20170515214114.15442-6-eblake@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
2017-05-23 13:28:17 +02:00
..
sample_images block/vpc: tests for auto-detecting VPC and Hyper-V VHD images 2016-03-14 16:46:42 +01:00
.gitignore iotests: record separate timings per format,protocol pair 2017-02-12 00:47:42 +01:00
001 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
001.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
002 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
002.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
003 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
003.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
004 block: enable testing of LUKS driver with block I/O tests 2016-05-12 15:33:24 +02:00
004.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
005 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
005.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
007 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
007.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
008 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
008.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
009 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
009.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
010 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
010.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
011 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
011.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
012 block: enable testing of LUKS driver with block I/O tests 2016-05-12 15:33:24 +02:00
012.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
013 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
013.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
014 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
014.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
015 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
015.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
017 qemu-iotests: exclude vxhs from image creation via protocol 2017-04-24 15:09:33 -04:00
017.out opts: produce valid command line in qemu_opts_print 2015-09-11 10:21:38 +03:00
018 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
018.out iotests: 018: Use TEST_IMG override instead of "mv" 2016-01-07 21:30:17 +01:00
019 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
019.out qemu-io: Switch 'alloc' command to byte-based length 2017-05-11 14:28:05 +02:00
020 qemu-iotests: exclude vxhs from image creation via protocol 2017-04-24 15:09:33 -04:00
020.out iotests: 020: Use TEST_IMG override instead of "mv" 2016-01-07 21:30:17 +01:00
021 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
021.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
022 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
022.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
023 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
023.out qemu-io: Allow unaligned access by default 2016-05-12 15:33:24 +02:00
024 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
024.out iotests: 024: Use TEST_IMG override instead of "mv" 2016-01-07 21:30:17 +01:00
025 block: Drop unmaintained 'archipelago' driver 2017-03-13 12:49:33 +01:00
025.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
026 iotests: Fix typo in 026 2017-04-27 15:46:16 +02:00
026.out iotests: Fix typo in 026 2017-04-27 15:46:16 +02:00
026.out.nocache iotests: Fix typo in 026 2017-04-27 15:46:16 +02:00
027 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
027.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
028 qemu-iotests: _cleanup_qemu must be called on exit 2017-04-24 15:09:33 -04:00
028.out qemu-iotests: Filter HMP readline escape characters 2017-04-27 15:39:49 +02:00
029 qemu-iotests: exclude vxhs from image creation via protocol 2017-04-24 15:09:33 -04:00
029.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
030 iotests: 030: Prepare for image locking 2017-05-11 11:08:40 +02:00
030.out qemu-iotests: Test the 'base-node' parameter of 'block-stream' 2016-10-31 16:52:39 +01:00
031 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
031.out qcow2: Write full header on image creation 2016-01-20 13:36:23 +01:00
032 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
032.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
033 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
033.out block: Fix blk_aio_write_zeroes() 2016-04-15 17:22:11 +02:00
034 block: Switch bdrv_write_zeroes() to byte interface 2016-06-08 10:21:08 +02:00
034.out iotests: 034: Use TEST_IMG override instead of "mv" 2016-01-07 21:30:17 +01:00
035 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
035.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
036 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
036.out qapi: Drop QERR_UNKNOWN_BLOCK_FORMAT_FEATURE 2016-03-17 15:47:56 +01:00
037 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
037.out iotests: 037: Use TEST_IMG override instead of "mv" 2016-01-07 21:30:17 +01:00
038 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
038.out iotests: 038: Use TEST_IMG override instead of "mv" 2016-01-07 21:30:17 +01:00
039 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
039.out block: add support for --image-opts in block I/O tests 2016-05-12 15:33:24 +02:00
040 qemu-iotests: Test the reopening of overlay_bs in 'block-commit' 2015-11-11 16:25:47 +01:00
040.out qemu-iotests: Test the reopening of overlay_bs in 'block-commit' 2015-11-11 16:25:47 +01:00
041 iotests: Add mirror tests for orphaned source 2017-04-07 14:44:06 +02:00
041.out iotests: Add mirror tests for orphaned source 2017-04-07 14:44:06 +02:00
042 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
042.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
043 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
043.out block/qapi: always report full_backing_filename 2015-12-18 14:36:17 +01:00
044 qemu-iotests: qcow2: Test growing large refcount table 2012-11-14 18:19:21 +01:00
044.out qcow2: Don't rely on free_cluster_index in alloc_refcount_block() (CVE-2014-0147) 2014-04-01 15:21:03 +02:00
045 qemu-iotests: add tests for runtime fd passing via SCM rights 2013-09-12 10:12:47 +02:00
045.out qemu-iotests: add tests for runtime fd passing via SCM rights 2013-09-12 10:12:47 +02:00
046 iotests: 046: Prepare for image locking 2017-05-11 11:08:40 +02:00
046.out opts: produce valid command line in qemu_opts_print 2015-09-11 10:21:38 +03:00
047 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
047.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
048 block: enable testing of LUKS driver with block I/O tests 2016-05-12 15:33:24 +02:00
048.out block: enable testing of LUKS driver with block I/O tests 2016-05-12 15:33:24 +02:00
049 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
049.out option: Tweak invalid size error message and unbreak iotest 049 2017-02-28 20:40:31 +01:00
050 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
050.out iotests: 050: Use TEST_IMG override instead of "mv" 2016-01-07 21:30:17 +01:00
051 iotests/051: Add test for empty filename 2017-04-27 15:39:49 +02:00
051.out iotests/051: Add test for empty filename 2017-04-27 15:39:49 +02:00
051.pc.out iotests/051: Add test for empty filename 2017-04-27 15:39:49 +02:00
052 block: enable testing of LUKS driver with block I/O tests 2016-05-12 15:33:24 +02:00
052.out block: enable testing of LUKS driver with block I/O tests 2016-05-12 15:33:24 +02:00
053 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
053.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
054 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
054.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
055 iotests: 055: Don't attach the target image already for drive-backup 2017-05-11 11:08:40 +02:00
055.out qemu-iotests: test backup compression in 055 2016-09-05 19:06:48 +02:00
056 iotests: Add regresion test case for write notifier assertion failure 2015-12-03 11:08:07 +08:00
056.out iotests: Add regresion test case for write notifier assertion failure 2015-12-03 11:08:07 +08:00
057 block: Accept node-name for blockdev-snapshot-internal-sync 2016-09-05 19:06:47 +02:00
057.out qemu-iotests: add 057 internal snapshot for block device test case 2013-09-12 10:12:47 +02:00
058 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
058.out qemu-iotests: add test for snapshot in qemu-img convert 2013-12-04 15:19:00 +01:00
059 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
059.out qemu-io: Return non-zero exit code on failure 2017-02-12 00:47:42 +01:00
060 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
060.out qcow2: Make distinction between zero cluster types obvious 2017-05-11 14:28:07 +02:00
061 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
061.out block: add support for --image-opts in block I/O tests 2016-05-12 15:33:24 +02:00
062 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
062.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
063 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
063.out add qemu-img convert -n option (skip target volume creation) 2013-09-06 15:25:07 +02:00
064 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
064.out iotests: Lower 064's memory usage 2015-01-23 12:41:32 -05:00
065 qcow2: Add refcount_bits to format-specific info 2015-03-10 14:02:20 +01:00
065.out qemu-iotests: Additional info from qemu-img info 2013-10-11 16:49:50 +02:00
066 iotests: Extend test 066 2017-05-11 12:08:24 +02:00
066.out iotests: Extend test 066 2017-05-11 12:08:24 +02:00
067 block: Remove "options" indirection from blockdev-add 2016-10-24 17:54:03 +02:00
067.out qemu-iotests/067: Avoid blockdev-add with id 2016-09-23 13:45:36 +02:00
068 qemu-iotests: Filter HMP readline escape characters 2017-04-27 15:39:49 +02:00
068.out qemu-iotests: Filter HMP readline escape characters 2017-04-27 15:39:49 +02:00
069 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
069.out qemu-io qemu-nbd: Use error_report() etc. instead of fprintf() 2016-01-13 15:16:18 +01:00
070 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
070.out qemu-io: Return non-zero exit code on failure 2017-02-12 00:47:42 +01:00
071 block: Remove "options" indirection from blockdev-add 2016-10-24 17:54:03 +02:00
071.out shutdown: Expose bool cause in SHUTDOWN and RESET events 2017-05-23 13:28:17 +02:00
072 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
072.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
073 qemu-iotests: exclude vxhs from image creation via protocol 2017-04-24 15:09:33 -04:00
073.out opts: produce valid command line in qemu_opts_print 2015-09-11 10:21:38 +03:00
074 qemu-iotests: Split qcow2 only cases in 048 2013-12-04 14:31:39 +01:00
074.out qemu-iotests: Split qcow2 only cases in 048 2013-12-04 14:31:39 +01:00
075 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
075.out qemu-io: Return non-zero exit code on failure 2017-02-12 00:47:42 +01:00
076 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
076.out qemu-io: Return non-zero exit code on failure 2017-02-12 00:47:42 +01:00
077 block/io: optimize bdrv_co_pwritev for small requests 2016-06-07 14:40:51 +01:00
077.out block/io: optimize bdrv_co_pwritev for small requests 2016-06-07 14:40:51 +01:00
078 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
078.out qemu-io: Return non-zero exit code on failure 2017-02-12 00:47:42 +01:00
079 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
079.out opts: produce valid command line in qemu_opts_print 2015-09-11 10:21:38 +03:00
080 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
080.out qemu-io: Return non-zero exit code on failure 2017-02-12 00:47:42 +01:00
081 block: Remove "options" indirection from blockdev-add 2016-10-24 17:54:03 +02:00
081.out shutdown: Expose bool cause in SHUTDOWN and RESET events 2017-05-23 13:28:17 +02:00
082 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
082.out opts: produce valid command line in qemu_opts_print 2015-09-11 10:21:38 +03:00
083 iotests: fix the redirection order in 083 2016-05-12 15:33:23 +02:00
083.out qemu-io: Return non-zero exit code on failure 2017-02-12 00:47:42 +01:00
084 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
084.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
085 iotests: 085: Avoid image locking conflict 2017-05-11 11:08:40 +02:00
085.out iotests: 085: Avoid image locking conflict 2017-05-11 11:08:40 +02:00
086 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
086.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
087 iotests: 087: Don't attach test image twice 2017-05-11 11:08:40 +02:00
087.out shutdown: Expose bool cause in SHUTDOWN and RESET events 2017-05-23 13:28:17 +02:00
088 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
088.out qemu-io: Return non-zero exit code on failure 2017-02-12 00:47:42 +01:00
089 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
089.out block: ignore flush requests when storage is clean 2016-07-18 18:19:01 -04:00
090 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
090.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
091 iotests: 091: Quit QEMU before checking image 2017-05-11 11:08:40 +02:00
091.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
092 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
092.out qemu-io: Return non-zero exit code on failure 2017-02-12 00:47:42 +01:00
093 qemu-iotests: Test I/O in a single drive from a throttling group 2016-10-24 17:54:03 +02:00
093.out qemu-iotests: Test I/O in a single drive from a throttling group 2016-10-24 17:54:03 +02:00
094 qemu-iotests: _cleanup_qemu must be called on exit 2017-04-24 15:09:33 -04:00
094.out shutdown: Expose bool cause in SHUTDOWN and RESET events 2017-05-23 13:28:17 +02:00
095 iotests: 095: Clean up QEMU before showing image info 2016-06-16 15:20:37 +02:00
095.out iotests: 095: Filter _img_info output 2016-01-07 21:30:17 +01:00
096 block: Don't return throttling info in query-named-block-nodes 2016-05-19 16:45:31 +02:00
096.out throttle: test that snapshots move the throttling configuration 2015-10-16 15:34:29 +02:00
097 iotests: Improve image-clear tests on non-aligned image 2017-04-03 17:11:40 +02:00
097.out iotests: Improve image-clear tests on non-aligned image 2017-04-03 17:11:40 +02:00
098 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
098.out opts: produce valid command line in qemu_opts_print 2015-09-11 10:21:38 +03:00
099 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
099.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
101 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
101.out qemu-iotests: add test case 101 for short file I/O 2014-08-22 11:01:12 +02:00
102 qemu-iotests: _cleanup_qemu must be called on exit 2017-04-24 15:09:33 -04:00
102.out qemu-io: Switch 'map' output to byte-based reporting 2017-05-11 14:28:06 +02:00
103 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
103.out qemu-io qemu-nbd: Use error_report() etc. instead of fprintf() 2016-01-13 15:16:18 +01:00
104 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
104.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
105 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
105.out vmdk: Fix integer overflow in offset calculation 2014-10-03 10:30:33 +01:00
107 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
107.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
108 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
108.out qemu-iotests: Remove traling whitespaces in *.out 2014-12-12 16:52:33 +00:00
109 iotests: 109: Filter out "len" of failed jobs 2017-04-27 16:01:11 +02:00
109.out iotests: 109: Filter out "len" of failed jobs 2017-04-27 16:01:11 +02:00
110 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
110.out block/qapi: allow best-effort query 2015-12-18 14:36:17 +01:00
111 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
111.out iotests: Add test for non-existing backing file 2014-11-06 12:45:47 +01:00
112 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
112.out iotests: Extend test 112 for qemu-img amend 2015-12-18 14:34:43 +01:00
113 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
113.out iotests: Add test for unsupported image creation 2014-12-10 10:31:20 +01:00
114 qemu-iotests: exclude vxhs from image creation via protocol 2017-04-24 15:09:33 -04:00
114.out qemu-io qemu-nbd: Use error_report() etc. instead of fprintf() 2016-01-13 15:16:18 +01:00
115 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
115.out opts: produce valid command line in qemu_opts_print 2015-09-11 10:21:38 +03:00
116 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
116.out qemu-io: Return non-zero exit code on failure 2017-02-12 00:47:42 +01:00
117 qemu-iotests: _cleanup_qemu must be called on exit 2017-04-24 15:09:33 -04:00
117.out shutdown: Expose bool cause in SHUTDOWN and RESET events 2017-05-23 13:28:17 +02:00
118 block: Remove "options" indirection from blockdev-add 2016-10-24 17:54:03 +02:00
118.out iotests: Add test for change-related QMP commands 2015-11-11 16:25:47 +01:00
119 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
119.out shutdown: Expose bool cause in SHUTDOWN and RESET events 2017-05-23 13:28:17 +02:00
120 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
120.out shutdown: Expose bool cause in SHUTDOWN and RESET events 2017-05-23 13:28:17 +02:00
121 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
121.out opts: produce valid command line in qemu_opts_print 2015-09-11 10:21:38 +03:00
122 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
122.out iotests: Improve _filter_qemu_img_map 2017-05-11 14:28:07 +02:00
123 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
123.out iotests: Add test for qemu-img convert to NBD 2015-02-16 15:07:18 +00:00
124 iotests: add transactional failure race test 2016-11-14 22:47:34 -05:00
124.out iotests: add transactional failure race test 2016-11-14 22:47:34 -05:00
128 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
128.out iotests: add O_DIRECT alignment probing test 2015-03-10 14:02:24 +01:00
129 qemu-iotests: Test that "stop" doesn't drain block jobs 2015-04-28 15:36:09 +02:00
129.out qemu-iotests: Test that "stop" doesn't drain block jobs 2015-04-28 15:36:09 +02:00
130 qemu-iotests: _cleanup_qemu must be called on exit 2017-04-24 15:09:33 -04:00
130.out qemu-iotests: Filter HMP readline escape characters 2017-04-27 15:39:49 +02:00
131 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
131.out qemu-io: Return non-zero exit code on failure 2017-02-12 00:47:42 +01:00
132 qemu-iotests: Add test case for mirror with unmap 2015-07-02 10:06:23 +01:00
132.out qemu-iotests: Add test case for mirror with unmap 2015-07-02 10:06:23 +01:00
133 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
133.out qemu-iotests: Test reopen with node-name/driver options 2015-12-18 14:34:43 +01:00
134 qemu-iotests: exclude vxhs from image creation via protocol 2017-04-24 15:09:33 -04:00
134.out block: move encryption deprecation warning into qcow code 2016-03-30 12:12:15 +02:00
135 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
135.out block: qemu-iotests - add check for multiplication overflow in vpc 2015-07-27 17:19:07 +02:00
136 qemu-iotests: Fix regression in 136 on aio_read invalid 2016-05-19 16:56:58 +02:00
136.out block: Remove bdrv_aio_multiwrite() 2016-05-19 16:45:31 +02:00
137 qemu-iotests: Test 137 only supports 'file' protocol 2017-02-24 16:09:22 +01:00
137.out block: add support for --image-opts in block I/O tests 2016-05-12 15:33:24 +02:00
138 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
138.out iotests: Add test for checking large image files 2015-09-14 16:51:37 +02:00
139 block: Declare blockdev-add and blockdev-del supported 2017-03-28 15:23:23 +02:00
139.out qemu-iotests/139: Avoid blockdev-add with id 2016-09-23 13:45:36 +02:00
140 qemu-iotests: _cleanup_qemu must be called on exit 2017-04-24 15:09:33 -04:00
140.out shutdown: Expose bool cause in SHUTDOWN and RESET events 2017-05-23 13:28:17 +02:00
141 qemu-iotests: _cleanup_qemu must be called on exit 2017-04-24 15:09:33 -04:00
141.out mirror: Use real permissions in mirror/active commit block job 2017-02-28 20:47:46 +01:00
142 qemu-iotests: Filter HMP readline escape characters 2017-04-27 15:39:49 +02:00
142.out qemu-iotests: Filter HMP readline escape characters 2017-04-27 15:39:49 +02:00
143 qemu-iotests: _cleanup_qemu must be called on exit 2017-04-24 15:09:33 -04:00
143.out shutdown: Expose bool cause in SHUTDOWN and RESET events 2017-05-23 13:28:17 +02:00
144 block: qemu-iotests - add test for snapshot, commit, snapshot bug 2016-02-02 18:07:27 +01:00
144.out block: ignore flush requests when storage is clean 2016-07-18 18:19:01 -04:00
145 qemu-iotests: Filter HMP readline escape characters 2017-04-27 15:39:49 +02:00
145.out qemu-iotests: Filter HMP readline escape characters 2017-04-27 15:39:49 +02:00
146 block/vpc: add tests for image creation force_size parameter 2016-03-14 16:46:42 +01:00
146.out qemu-io: Switch 'map' output to byte-based reporting 2017-05-11 14:28:06 +02:00
147 nbd: Tidy up blockdev-add interface 2017-04-03 17:11:39 +02:00
147.out iotests: Add test for NBD's blockdev-add interface 2016-10-27 19:05:23 +02:00
148 qemu-iotests: 148: properly skip test if quorum support is missing 2016-04-12 18:07:39 +02:00
148.out iotests: Test QUORUM_REPORT_BAD in fifo mode 2016-03-17 16:43:30 +01:00
149 crypto: fix handling of iv generator hash defaults 2016-07-04 10:46:59 +01:00
149.out crypto: fix handling of iv generator hash defaults 2016-07-04 10:46:59 +01:00
150 qemu-iotests: tests: do not set unused tmp variable 2016-04-15 17:56:56 +02:00
150.out iotests: Make 150 use qemu-img map instead of du 2016-04-12 18:06:51 +02:00
152 iotests: Test case for drive-mirror with unaligned image size 2016-04-20 16:52:55 +02:00
152.out iotests: Test case for drive-mirror with unaligned image size 2016-04-20 16:52:55 +02:00
153 qemu-iotests: Add test case 153 for image locking 2017-05-11 11:15:32 +02:00
153.out qemu-iotests: Add test case 153 for image locking 2017-05-11 11:15:32 +02:00
154 qcow2: Optimize write zero of unaligned tail cluster 2017-05-11 14:28:07 +02:00
154.out qcow2: Optimize write zero of unaligned tail cluster 2017-05-11 14:28:07 +02:00
155 block: Remove "options" indirection from blockdev-add 2016-10-24 17:54:03 +02:00
155.out iotests: Add test for post-mirror backing chains 2016-06-16 15:20:37 +02:00
156 qemu-iotests: _cleanup_qemu must be called on exit 2017-04-24 15:09:33 -04:00
156.out shutdown: Expose bool cause in SHUTDOWN and RESET events 2017-05-23 13:28:17 +02:00
157 iotests: Make 157 actually format-agnostic 2016-07-13 13:41:39 +02:00
157.out iotests: Make 157 actually format-agnostic 2016-07-13 13:41:39 +02:00
158 qemu-iotests: exclude vxhs from image creation via protocol 2017-04-24 15:09:33 -04:00
158.out qcow2: fix encryption during cow of sectors 2016-09-23 13:36:09 +02:00
159 qemu-img: add the 'dd' subcommand 2016-09-20 22:10:57 +02:00
159.out qemu-img: add the 'dd' subcommand 2016-09-20 22:10:57 +02:00
160 qemu-img: add skip option to dd 2016-09-20 22:10:57 +02:00
160.out qemu-img: add skip option to dd 2016-09-20 22:10:57 +02:00
162 iotests: Skip test 162 if there is no SSH support 2016-11-11 15:56:22 +01:00
162.out iotests: Do not rely on unavailable domains in 162 2016-10-24 17:54:03 +02:00
170 qemu-img: add the 'dd' subcommand 2016-09-20 22:10:57 +02:00
170.out qemu-img: add the 'dd' subcommand 2016-09-20 22:10:57 +02:00
171 qemu-iotests: test 'offset' and 'size' options in raw driver 2016-10-31 16:52:39 +01:00
171.out qemu-iotests: test 'offset' and 'size' options in raw driver 2016-10-31 16:52:39 +01:00
172 iotests: 172: Use separate images for multiple devices 2017-05-11 11:08:40 +02:00
172.out iotests: 172: Use separate images for multiple devices 2017-05-11 11:08:40 +02:00
173 qemu-iotest: test to lookup protocol-based image with relative backing 2017-02-12 00:47:42 +01:00
173.out qemu-iotest: test to lookup protocol-based image with relative backing 2017-02-12 00:47:42 +01:00
174 qemu-io: Add failure regression tests 2017-02-12 00:47:42 +01:00
174.out qemu-io: Add failure regression tests 2017-02-12 00:47:42 +01:00
175 qemu-img: Add tests for raw image preallocation 2017-02-24 16:09:22 +01:00
175.out qemu-img: Add tests for raw image preallocation 2017-02-24 16:09:22 +01:00
176 iotests: Improve image-clear tests on non-aligned image 2017-04-03 17:11:40 +02:00
176.out iotests: Improve image-clear tests on non-aligned image 2017-04-03 17:11:40 +02:00
177 tests: Add coverage for recent block geometry fixes 2017-05-11 14:28:06 +02:00
177.out tests: Add coverage for recent block geometry fixes 2017-05-11 14:28:06 +02:00
179 iotests: Add test 179 to cover write zeroes with unmap 2017-05-11 14:28:07 +02:00
179.out iotests: Add test 179 to cover write zeroes with unmap 2017-05-11 14:28:07 +02:00
181 qemu-iotests: Test postcopy migration 2017-04-27 15:39:49 +02:00
181.out qemu-iotests: Test postcopy migration 2017-04-27 15:39:49 +02:00
182 tests: Add POSIX image locking test case 182 2017-05-11 12:08:20 +02:00
182.out tests: Add POSIX image locking test case 182 2017-05-11 12:08:20 +02:00
check iotests: record separate timings per format,protocol pair 2017-02-12 00:47:42 +01:00
common iotests: fix exclusion option 2017-04-28 18:40:41 +02:00
common.config qemu_iotests: Remove _readlink() 2017-04-27 15:39:50 +02:00
common.filter iotests: Improve _filter_qemu_img_map 2017-05-11 14:28:07 +02:00
common.pattern qemu-io: Switch 'alloc' command to byte-based length 2017-05-11 14:28:05 +02:00
common.qemu qemu-iotests: Filter HMP readline escape characters 2017-04-27 15:39:49 +02:00
common.rc iotests: Launch qemu-nbd with -e 42 2017-04-27 15:39:50 +02:00
COPYING qemu-iotests: Initial import into the public repository. 2012-02-22 16:15:22 +01:00
group iotests: Add test 179 to cover write zeroes with unmap 2017-05-11 14:28:07 +02:00
iotests.py iotests: Add mirror tests for orphaned source 2017-04-07 14:44:06 +02:00
Makefile iotests: record separate timings per format,protocol pair 2017-02-12 00:47:42 +01:00
nbd-fault-injector.py tests: add nbd-fault-injector.py utility 2014-03-14 16:28:28 +01:00
qcow2.py qcow2.py: Add required padding for header extensions 2014-12-10 10:31:13 +01:00
qed.py tests: Use Python 2.6 "except E as ..." syntax 2016-02-08 17:29:54 +01:00
README doc: Fix mailing list address in tests/qemu-iotests/README 2016-06-16 15:19:55 +02:00
socket_scm_helper.c socket_scm_helper: Accept fd directly 2016-10-27 19:05:23 +02:00

=== This is the QEMU I/O test suite ===

* Intro

This package contains a simple test suite for the I/O layer of qemu.
It does not require a guest, but only the qemu, qemu-img and qemu-io
binaries.  This does limit it to exercise the low-level I/O path only
but no actual block drivers like ide, scsi or virtio.

* Usage

Just run ./check to run all tests for the raw image format, or ./check
-qcow2 to test the qcow2 image format.  The output of ./check -h explains
additional options to test further image formats or I/O methods.

* Feedback and patches

Please send improvements to the test suite, general feedback or just
reports of failing tests cases to qemu-devel@nongnu.org with a CC:
to qemu-block@nongnu.org.