aboutsummaryrefslogtreecommitdiff
path: root/tests/qemu-iotests/common.qemu
diff options
context:
space:
mode:
authorEric Blake <eblake@redhat.com>2019-11-14 15:34:14 -0600
committerEric Blake <eblake@redhat.com>2019-11-18 20:33:48 -0600
commita98b1a1fefd53daf044d2267e6b9487541798918 (patch)
treee3349ad5486f7f8ab862a5ac9ebb914579707e11 /tests/qemu-iotests/common.qemu
parentf3923a72f199b2c63747a7032db74730546f55c6 (diff)
iotests: Include QMP input in .out files
We generally include relevant HMP input in .out files, by virtue of the fact that HMP echoes its input. But QMP does not, so we have to explicitly inject it in the output stream (appropriately filtered to keep the tests passing), in order to make it easier to read .out files to see what behavior is being tested (especially true where the output file is a sequence of {'return': {}}). Suggested-by: Max Reitz <mreitz@redhat.com> Signed-off-by: Eric Blake <eblake@redhat.com> Message-Id: <20191114213415.23499-4-eblake@redhat.com> Reviewed-by: Max Reitz <mreitz@redhat.com>
Diffstat (limited to 'tests/qemu-iotests/common.qemu')
-rw-r--r--tests/qemu-iotests/common.qemu9
1 files changed, 9 insertions, 0 deletions
diff --git a/tests/qemu-iotests/common.qemu b/tests/qemu-iotests/common.qemu
index 8d2021a7eb..de680cf1c7 100644
--- a/tests/qemu-iotests/common.qemu
+++ b/tests/qemu-iotests/common.qemu
@@ -123,6 +123,9 @@ _timed_wait_for()
# until either timeout, or a response. If it is not set, or <=0,
# then the command is only sent once.
#
+# If neither $silent nor $mismatch_only is set, and $cmd begins with '{',
+# echo the command before sending it the first time.
+#
# If $qemu_error_no_exit is set, then even if the expected response
# is not seen, we will not exit. $QEMU_STATUS[$1] will be set it -1 in
# that case.
@@ -152,6 +155,12 @@ _send_qemu_cmd()
shift $(($# - 2))
fi
+ # Display QMP being sent, but not HMP (since HMP already echoes its
+ # input back to output); decide based on leading '{'
+ if [ -z "$silent" ] && [ -z "$mismatch_only" ] &&
+ [ "$cmd" != "${cmd#\{}" ]; then
+ echo "${cmd}" | _filter_testdir | _filter_imgfmt
+ fi
while [ ${count} -gt 0 ]
do
echo "${cmd}" >&${QEMU_IN[${h}]}