[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 06/17] iotests: Drop format-specific in _filter_img_
From: |
Max Reitz |
Subject: |
[Qemu-devel] [PATCH 06/17] iotests: Drop format-specific in _filter_img_info |
Date: |
Thu, 23 Nov 2017 03:08:21 +0100 |
_filter_img_info should remove format-specific information, too. We
already have such a filter in _img_info, and it is very useful for
query-block-named-block-nodes (etc.), too.
However, in 198 we need that information (but we still want the rest of
the filter), so make that filtering optional. Note that "the rest of
the filter" includes filtering of the test directory, so we can drop the
_filter_testdir from 198 at the same time.
Signed-off-by: Max Reitz <address@hidden>
---
tests/qemu-iotests/198 | 6 ++++--
tests/qemu-iotests/common.filter | 29 ++++++++++++++++++++++++++++-
2 files changed, 32 insertions(+), 3 deletions(-)
diff --git a/tests/qemu-iotests/198 b/tests/qemu-iotests/198
index 34ef666381..a84a058396 100755
--- a/tests/qemu-iotests/198
+++ b/tests/qemu-iotests/198
@@ -91,11 +91,13 @@ $QEMU_IO --object $SECRET0 --object $SECRET1 -c "read -P
0x9 0 $size" --image-op
echo
echo "== checking image base =="
-$QEMU_IMG info --image-opts $IMGSPECBASE | _filter_img_info | _filter_testdir
| sed -e "/^disk size:/ D"
+$QEMU_IMG info --image-opts $IMGSPECBASE | _filter_img_info --format-specific \
+ | sed -e "/^disk size:/ D"
echo
echo "== checking image layer =="
-$QEMU_IMG info --image-opts $IMGSPECLAYER | _filter_img_info | _filter_testdir
| sed -e "/^disk size:/ D"
+$QEMU_IMG info --image-opts $IMGSPECLAYER | _filter_img_info --format-specific
\
+ | sed -e "/^disk size:/ D"
# success, all done
diff --git a/tests/qemu-iotests/common.filter b/tests/qemu-iotests/common.filter
index d9237799e9..0c0e53fae7 100644
--- a/tests/qemu-iotests/common.filter
+++ b/tests/qemu-iotests/common.filter
@@ -139,6 +139,15 @@ _filter_img_create()
_filter_img_info()
{
+ if [[ "$1" == "--format-specific" ]]; then
+ local format_specific=1
+ shift
+ else
+ local format_specific=0
+ fi
+
+ discard=0
+ regex_json_spec_start='^ *"format-specific": \{'
sed -e "s#$IMGPROTO:$TEST_DIR#TEST_DIR#g" \
-e "s#$TEST_DIR#TEST_DIR#g" \
-e "s#$IMGFMT#IMGFMT#g" \
@@ -159,7 +168,25 @@ _filter_img_info()
-e "/block_state_zero: \\(on\\|off\\)/d" \
-e "/log_size: [0-9]\\+/d" \
-e "s/iters: [0-9]\\+/iters: 1024/" \
- -e "s/uuid: [-a-f0-9]\\+/uuid: 00000000-0000-0000-0000-000000000000/"
+ -e "s/uuid: [-a-f0-9]\\+/uuid: 00000000-0000-0000-0000-000000000000/"
| \
+ while IFS='' read -r line; do
+ if [[ $format_specific == 1 ]]; then
+ discard=0
+ elif [[ $line == "Format specific information:" ]]; then
+ discard=1
+ elif [[ $line =~ $regex_json_spec_start ]]; then
+ discard=2
+ regex_json_spec_end="^${line%%[^ ]*}\\},? *$"
+ fi
+ if [[ $discard == 0 ]]; then
+ echo "$line"
+ elif [[ $discard == 1 && ! $line ]]; then
+ echo
+ discard=0
+ elif [[ $discard == 2 && $line =~ $regex_json_spec_end ]]; then
+ discard=0
+ fi
+ done
}
# filter out offsets and file names from qemu-img map; good for both
--
2.13.6
- Re: [Qemu-devel] [PATCH 01/17] block/vmdk: Fix , instead of ; at end of line, (continued)
- [Qemu-devel] [PATCH 02/17] qcow2: No persistent dirty bitmaps for compat=0.10, Max Reitz, 2017/11/22
- [Qemu-devel] [PATCH 03/17] block/qcow: Add blkdebug events, Max Reitz, 2017/11/22
- [Qemu-devel] [PATCH 04/17] block/vmdk: Add blkdebug events, Max Reitz, 2017/11/22
- [Qemu-devel] [PATCH 05/17] iotests: Fix _img_info for backslashes, Max Reitz, 2017/11/22
- [Qemu-devel] [PATCH 06/17] iotests: Drop format-specific in _filter_img_info,
Max Reitz <=
- [Qemu-devel] [PATCH 07/17] iotests: Forbid 020 for non-file protocols, Max Reitz, 2017/11/22
- [Qemu-devel] [PATCH 08/17] iotests: Skip 103 for refcount_bits=1, Max Reitz, 2017/11/22
- [Qemu-devel] [PATCH 09/17] iotests: Disable some tests for compat=0.10, Max Reitz, 2017/11/22