iotests/image-fleecing: switch to qemu_io()

This test expects failure ... but only sometimes. When? Why?

It's for reads of a region not defined by a bitmap. Adjust the test to
be more explicit about what it expects to fail and why.

Signed-off-by: John Snow <jsnow@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Hanna Reitz <hreitz@redhat.com>
Message-Id: <20220418211504.943969-10-jsnow@redhat.com>
Signed-off-by: Hanna Reitz <hreitz@redhat.com>
This commit is contained in:
John Snow 2022-04-18 17:15:01 -04:00 committed by Hanna Reitz
parent 7acb2ddfec
commit db1646a639
1 changed files with 19 additions and 9 deletions

View File

@ -22,9 +22,10 @@
#
# Creator/Owner: John Snow <jsnow@redhat.com>
from subprocess import CalledProcessError
import iotests
from iotests import log, qemu_img, qemu_io, qemu_io_silent, \
qemu_io_pipe_and_status
from iotests import log, qemu_img, qemu_io, qemu_io_silent
iotests.script_initialize(
supported_fmts=['qcow2'],
@ -185,10 +186,14 @@ def do_test(vm, use_cbw, use_snapshot_access_filter, base_img_path,
for p in patterns + zeroes:
cmd = 'read -P%s %s %s' % p
log(cmd)
out, ret = qemu_io_pipe_and_status('-r', '-f', 'raw', '-c', cmd,
nbd_uri)
if ret != 0:
print(out)
try:
qemu_io('-r', '-f', 'raw', '-c', cmd, nbd_uri)
except CalledProcessError as exc:
if bitmap and p in zeroes:
log(exc.stdout)
else:
raise
log('')
log('--- Testing COW ---')
@ -228,9 +233,14 @@ def do_test(vm, use_cbw, use_snapshot_access_filter, base_img_path,
args += [target_img_path]
else:
args += ['-f', 'raw', nbd_uri]
out, ret = qemu_io_pipe_and_status(*args)
if ret != 0:
print(out)
try:
qemu_io(*args)
except CalledProcessError as exc:
if bitmap and p in zeroes:
log(exc.stdout)
else:
raise
log('')
log('--- Cleanup ---')