All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kevin Wolf <kwolf@redhat.com>
To: qemu-block@nongnu.org
Cc: kwolf@redhat.com, peter.maydell@linaro.org, qemu-devel@nongnu.org
Subject: [PULL 13/34] iotests: Use convert -n in some cases
Date: Fri, 11 Dec 2020 18:07:51 +0100	[thread overview]
Message-ID: <20201211170812.228643-14-kwolf@redhat.com> (raw)
In-Reply-To: <20201211170812.228643-1-kwolf@redhat.com>

From: Max Reitz <mreitz@redhat.com>

qemu-img convert (without -n) can often be replaced by a combination of
_make_test_img + qemu-img convert -n.  Doing so allows converting to
protocols that do not allow direct file creation, such as FUSE exports.
The only problem is that for formats other than qcow2 and qed (qcow1 at
least), this may lead to high disk usage for some reason, so we cannot
do it everywhere.

But we can do it in 028 and 089, so let us do that so they can run on
FUSE exports.  Also, in 028 this allows us to remove a 9-line comment
that used to explain why we cannot safely filter drive-backup's image
creation output.

Signed-off-by: Max Reitz <mreitz@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Message-Id: <20201027190600.192171-10-mreitz@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
---
 tests/qemu-iotests/028     | 14 ++++----------
 tests/qemu-iotests/028.out |  3 +++
 tests/qemu-iotests/089     |  3 ++-
 tests/qemu-iotests/089.out |  1 +
 4 files changed, 10 insertions(+), 11 deletions(-)

diff --git a/tests/qemu-iotests/028 b/tests/qemu-iotests/028
index 6dd3ae09a3..864dc4a4e2 100755
--- a/tests/qemu-iotests/028
+++ b/tests/qemu-iotests/028
@@ -116,16 +116,10 @@ else
     QEMU_COMM_TIMEOUT=1
 fi
 
-# Silence output since it contains the disk image path and QEMU's readline
-# character echoing makes it very hard to filter the output. Plus, there
-# is no telling how many times the command will repeat before succeeding.
-# (Note that creating the image results in a "Formatting..." message over
-# stdout, which is the same channel the monitor uses.  We cannot reliably
-# wait for it because the monitor output may interact with it in such a
-# way that _timed_wait_for cannot read it.  However, once the block job is
-# done, we know that the "Formatting..." message must have appeared
-# already, so the output is still deterministic.)
-silent=y _send_qemu_cmd $h "drive_backup disk ${TEST_IMG}.copy" "(qemu)"
+TEST_IMG="$TEST_IMG.copy" _make_test_img $image_size
+_send_qemu_cmd $h "drive_backup -n disk ${TEST_IMG}.copy" "(qemu)" \
+    | _filter_imgfmt
+
 silent=y qemu_cmd_repeat=20 _send_qemu_cmd $h "info block-jobs" "No active jobs"
 _send_qemu_cmd $h "info block-jobs" "No active jobs"
 _send_qemu_cmd $h 'quit' ""
diff --git a/tests/qemu-iotests/028.out b/tests/qemu-iotests/028.out
index 5a68de5c46..e580488216 100644
--- a/tests/qemu-iotests/028.out
+++ b/tests/qemu-iotests/028.out
@@ -468,6 +468,9 @@ No errors were found on the image.
 
 block-backup
 
+Formatting 'TEST_DIR/t.IMGFMT.copy', fmt=IMGFMT size=4294968832
+QEMU X.Y.Z monitor - type 'help' for more information
+(qemu) drive_backup -n disk TEST_DIR/t.IMGFMT.copy
 (qemu) info block-jobs
 No active jobs
 === IO: pattern 195
diff --git a/tests/qemu-iotests/089 b/tests/qemu-iotests/089
index 66c5415abe..03a2ccf1e8 100755
--- a/tests/qemu-iotests/089
+++ b/tests/qemu-iotests/089
@@ -62,7 +62,8 @@ TEST_IMG="$TEST_IMG.base" _make_test_img $IMG_SIZE
 $QEMU_IO -c 'write -P 42 0 512' -c 'write -P 23 512 512' \
          -c 'write -P 66 1024 512' "$TEST_IMG.base" | _filter_qemu_io
 
-$QEMU_IMG convert -f raw -O $IMGFMT "$TEST_IMG.base" "$TEST_IMG"
+_make_test_img $IMG_SIZE
+$QEMU_IMG convert -f raw -O $IMGFMT -n "$TEST_IMG.base" "$TEST_IMG"
 
 $QEMU_IO_PROG --cache $CACHEMODE --aio $AIOMODE \
          -c 'read -P 42 0 512' -c 'read -P 23 512 512' \
diff --git a/tests/qemu-iotests/089.out b/tests/qemu-iotests/089.out
index 15682c2886..c53fc4823a 100644
--- a/tests/qemu-iotests/089.out
+++ b/tests/qemu-iotests/089.out
@@ -9,6 +9,7 @@ wrote 512/512 bytes at offset 512
 512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
 wrote 512/512 bytes at offset 1024
 512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
+Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864
 read 512/512 bytes at offset 0
 512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
 read 512/512 bytes at offset 512
-- 
2.29.2



  parent reply	other threads:[~2020-12-11 17:29 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-11 17:07 [PULL 00/34] Block layer patches Kevin Wolf
2020-12-11 17:07 ` [PULL 01/34] block/accounting: Use lock guard macros Kevin Wolf
2020-12-11 17:07 ` [PULL 02/34] block/curl: " Kevin Wolf
2020-12-11 17:07 ` [PULL 03/34] block/throttle-groups: " Kevin Wolf
2020-12-11 17:07 ` [PULL 04/34] block/iscsi: " Kevin Wolf
2020-12-11 17:07 ` [PULL 05/34] meson: Detect libfuse Kevin Wolf
2020-12-11 17:07 ` [PULL 06/34] fuse: Allow exporting BDSs via FUSE Kevin Wolf
2020-12-11 17:07 ` [PULL 07/34] fuse: Implement standard FUSE operations Kevin Wolf
2020-12-11 17:07 ` [PULL 08/34] fuse: Allow growable exports Kevin Wolf
2020-12-11 17:07 ` [PULL 09/34] fuse: (Partially) implement fallocate() Kevin Wolf
2020-12-11 17:07 ` [PULL 10/34] fuse: Implement hole detection through lseek Kevin Wolf
2020-12-11 17:07 ` [PULL 11/34] iotests: Do not needlessly filter _make_test_img Kevin Wolf
2020-12-11 17:07 ` [PULL 12/34] iotests: Do not pipe _make_test_img Kevin Wolf
2020-12-11 17:07 ` Kevin Wolf [this message]
2020-12-11 17:07 ` [PULL 14/34] iotests/046: Avoid renaming images Kevin Wolf
2020-12-11 17:07 ` [PULL 15/34] iotests: Derive image names from $TEST_IMG Kevin Wolf
2020-12-11 17:07 ` [PULL 16/34] iotests/091: Use _cleanup_qemu instad of "wait" Kevin Wolf
2020-12-11 17:07 ` [PULL 17/34] iotests: Restrict some Python tests to file Kevin Wolf
2020-12-11 17:07 ` [PULL 18/34] iotests: Let _make_test_img guess $TEST_IMG_FILE Kevin Wolf
2020-12-11 17:07 ` [PULL 19/34] iotests/287: Clean up subshell test image Kevin Wolf
2020-12-11 17:07 ` [PULL 20/34] storage-daemon: Call bdrv_close_all() on exit Kevin Wolf
2020-12-11 17:07 ` [PULL 21/34] iotests: Give access to the qemu-storage-daemon Kevin Wolf
2020-12-11 17:08 ` [PULL 22/34] iotests: Allow testing FUSE exports Kevin Wolf
2020-12-11 17:08 ` [PULL 23/34] iotests: Enable fuse for many tests Kevin Wolf
2020-12-11 17:08 ` [PULL 24/34] iotests/308: Add test for FUSE exports Kevin Wolf
2020-12-11 17:08 ` [PULL 25/34] file-posix: check the use_lock before setting the file lock Kevin Wolf
2020-12-11 17:08 ` [PULL 26/34] iotests/221: Discard image before qemu-img map Kevin Wolf
2020-12-11 17:08 ` [PULL 27/34] can-host: Fix crash when 'canbus' property is not set Kevin Wolf
2020-12-11 17:08 ` [PULL 28/34] block/file-posix: fix workaround in raw_do_pwrite_zeroes() Kevin Wolf
2020-12-11 17:08 ` [PULL 29/34] block/io: bdrv_refresh_limits(): use ERRP_GUARD Kevin Wolf
2020-12-11 17:08 ` [PULL 30/34] block/io: bdrv_check_byte_request(): drop bdrv_is_inserted() Kevin Wolf
2020-12-11 17:08 ` [PULL 31/34] block: introduce BDRV_MAX_LENGTH Kevin Wolf
2020-12-11 17:08 ` [PULL 32/34] block: Simplify qmp_block_resize() error paths Kevin Wolf
2020-12-11 17:08 ` [PULL 33/34] block: Fix locking in qmp_block_resize() Kevin Wolf
2020-12-11 17:08 ` [PULL 34/34] block: Fix deadlock in bdrv_co_yield_to_drain() Kevin Wolf
2020-12-12 16:06 ` [PULL 00/34] Block layer patches Peter Maydell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20201211170812.228643-14-kwolf@redhat.com \
    --to=kwolf@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.