[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 08/20] iotests: Do not pipe _make_test_img
From: |
Max Reitz |
Subject: |
[PATCH v2 08/20] iotests: Do not pipe _make_test_img |
Date: |
Tue, 22 Sep 2020 12:49:20 +0200 |
Executing _make_test_img as part of a pipe will undo all variable
changes it has done. As such, this could not work with FUSE (because
we want to remember all of our exports and their qemu instances).
Replace the pipe by a temporary file in 071 and 174 (the two tests that
can run on FUSE).
Signed-off-by: Max Reitz <mreitz@redhat.com>
---
tests/qemu-iotests/071 | 19 +++++++++++++++----
tests/qemu-iotests/174 | 10 +++++++++-
2 files changed, 24 insertions(+), 5 deletions(-)
diff --git a/tests/qemu-iotests/071 b/tests/qemu-iotests/071
index 88faebcc1d..18fe9054b0 100755
--- a/tests/qemu-iotests/071
+++ b/tests/qemu-iotests/071
@@ -61,8 +61,17 @@ echo
echo "=== Testing blkverify through filename ==="
echo
-TEST_IMG="$TEST_IMG.base" IMGFMT="raw" _make_test_img --no-opts $IMG_SIZE |\
- _filter_imgfmt
+# _make_test_img may set variables that we need to retain. Everything
+# in a pipe is executed in a subshell, so doing so would throw away
+# all changes. Therefore, we have to store the output in some temp
+# file and filter that.
+scratch_out="$TEST_DIR/img-create.out"
+
+TEST_IMG="$TEST_IMG.base" IMGFMT="raw" _make_test_img --no-opts $IMG_SIZE \
+ >"$scratch_out"
+_filter_imgfmt <"$scratch_out"
+rm -f "$scratch_out"
+
_make_test_img $IMG_SIZE
$QEMU_IO -c "open -o
driver=raw,file.driver=blkverify,file.raw.filename=$TEST_IMG.base $TEST_IMG" \
-c 'read 0 512' -c 'write -P 42 0x38000 512' -c 'read -P 42 0x38000
512' | _filter_qemu_io
@@ -76,8 +85,10 @@ echo
echo "=== Testing blkverify through file blockref ==="
echo
-TEST_IMG="$TEST_IMG.base" IMGFMT="raw" _make_test_img --no-opts $IMG_SIZE |\
- _filter_imgfmt
+TEST_IMG="$TEST_IMG.base" IMGFMT="raw" _make_test_img --no-opts $IMG_SIZE \
+ >"$scratch_out"
+_filter_imgfmt <"$scratch_out"
+
_make_test_img $IMG_SIZE
$QEMU_IO -c "open -o
driver=raw,file.driver=blkverify,file.raw.filename=$TEST_IMG.base,file.test.driver=$IMGFMT,file.test.file.filename=$TEST_IMG"
\
-c 'read 0 512' -c 'write -P 42 0x38000 512' -c 'read -P 42 0x38000
512' | _filter_qemu_io
diff --git a/tests/qemu-iotests/174 b/tests/qemu-iotests/174
index e2f14a38c6..1b0dd2e8b7 100755
--- a/tests/qemu-iotests/174
+++ b/tests/qemu-iotests/174
@@ -40,7 +40,15 @@ _unsupported_fmt raw
size=256K
-IMGFMT=raw IMGKEYSECRET= _make_test_img --no-opts $size | _filter_imgfmt
+
+# _make_test_img may set variables that we need to retain. Everything
+# in a pipe is executed in a subshell, so doing so would throw away
+# all changes. Therefore, we have to store the output in some temp
+# file and filter that.
+scratch_out="$TEST_DIR/img-create.out"
+IMGFMT=raw IMGKEYSECRET= _make_test_img --no-opts $size >"$scratch_out"
+_filter_imgfmt <"$scratch_out"
+rm -f "$scratch_out"
echo
echo "== reading wrong format should fail =="
--
2.26.2
- [PATCH v2 00/20] block/export: Allow exporting BDSs via FUSE, Max Reitz, 2020/09/22
- [PATCH v2 01/20] configure: Detect libfuse, Max Reitz, 2020/09/22
- [PATCH v2 03/20] fuse: Implement standard FUSE operations, Max Reitz, 2020/09/22
- [PATCH v2 04/20] fuse: Allow growable exports, Max Reitz, 2020/09/22
- [PATCH v2 02/20] fuse: Allow exporting BDSs via FUSE, Max Reitz, 2020/09/22
- [PATCH v2 05/20] fuse: (Partially) implement fallocate(), Max Reitz, 2020/09/22
- [PATCH v2 06/20] fuse: Implement hole detection through lseek, Max Reitz, 2020/09/22
- [PATCH v2 07/20] iotests: Do not needlessly filter _make_test_img, Max Reitz, 2020/09/22
- [PATCH v2 08/20] iotests: Do not pipe _make_test_img,
Max Reitz <=
- [PATCH v2 09/20] iotests: Use convert -n in some cases, Max Reitz, 2020/09/22
- [PATCH v2 10/20] iotests/046: Avoid renaming images, Max Reitz, 2020/09/22
- [PATCH v2 11/20] iotests: Derive image names from $TEST_IMG, Max Reitz, 2020/09/22
- [PATCH v2 12/20] iotests/091: Use _cleanup_qemu instad of "wait", Max Reitz, 2020/09/22
- [PATCH v2 13/20] iotests: Restrict some Python tests to file, Max Reitz, 2020/09/22
- [PATCH v2 15/20] iotests/287: Clean up subshell test image, Max Reitz, 2020/09/22
- [PATCH v2 16/20] storage-daemon: Call bdrv_close_all() on exit, Max Reitz, 2020/09/22
- [PATCH v2 14/20] iotests: Let _make_test_img guess $TEST_IMG_FILE, Max Reitz, 2020/09/22
- [PATCH v2 17/20] iotests: Give access to the qemu-storage-daemon, Max Reitz, 2020/09/22
- [PATCH v2 18/20] iotests: Allow testing FUSE exports, Max Reitz, 2020/09/22