qemu-iotests: 060: Filter the real disk size

The real on-disk size of an image depends on things like the host
filesystem. _img_info already filters it out, use the function in 060.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Michael Mueller <mimu@linux.vnet.ibm.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
This commit is contained in:
Kevin Wolf 2014-11-27 15:03:53 +01:00
parent a56ebc6ba4
commit e800e5d4e2
3 changed files with 13 additions and 5 deletions

View file

@ -77,7 +77,7 @@ $QEMU_IO -c "$OPEN_RW" -c "write -P 0x2a 0 512" | _filter_qemu_io
$PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features $PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features
# This information should be available through qemu-img info # This information should be available through qemu-img info
$QEMU_IMG info "$TEST_IMG" | _filter_testdir _img_info --format-specific
# Try to open the image R/W (which should fail) # Try to open the image R/W (which should fail)
$QEMU_IO -c "$OPEN_RW" -c "read 0 512" 2>&1 | _filter_qemu_io \ $QEMU_IO -c "$OPEN_RW" -c "read 0 512" 2>&1 | _filter_qemu_io \

View file

@ -11,10 +11,9 @@ incompatible_features 0x0
qcow2: Marking image as corrupt: Preventing invalid write on metadata (overlaps with active L1 table); further corruption events will be suppressed qcow2: Marking image as corrupt: Preventing invalid write on metadata (overlaps with active L1 table); further corruption events will be suppressed
write failed: Input/output error write failed: Input/output error
incompatible_features 0x2 incompatible_features 0x2
image: TEST_DIR/t.qcow2 image: TEST_DIR/t.IMGFMT
file format: qcow2 file format: IMGFMT
virtual size: 64M (67108864 bytes) virtual size: 64M (67108864 bytes)
disk size: 196K
cluster_size: 65536 cluster_size: 65536
Format specific information: Format specific information:
compat: 1.1 compat: 1.1

View file

@ -213,6 +213,13 @@ _check_test_img()
_img_info() _img_info()
{ {
if [[ "$1" == "--format-specific" ]]; then
local format_specific=1
shift
else
local format_specific=0
fi
discard=0 discard=0
regex_json_spec_start='^ *"format-specific": \{' regex_json_spec_start='^ *"format-specific": \{'
$QEMU_IMG info "$@" "$TEST_IMG" 2>&1 | \ $QEMU_IMG info "$@" "$TEST_IMG" 2>&1 | \
@ -222,7 +229,9 @@ _img_info()
-e "/^disk size:/ D" \ -e "/^disk size:/ D" \
-e "/actual-size/ D" | \ -e "/actual-size/ D" | \
while IFS='' read line; do while IFS='' read line; do
if [[ $line == "Format specific information:" ]]; then if [[ $format_specific == 1 ]]; then
discard=0
elif [[ $line == "Format specific information:" ]]; then
discard=1 discard=1
elif [[ $line =~ $regex_json_spec_start ]]; then elif [[ $line =~ $regex_json_spec_start ]]; then
discard=2 discard=2