As part of moving all python iotest invocations of qemu-img onto a
single qemu_img() implementation, remove a few lingering uses of
qemu_img_pipe() from outside of iotests.py itself.
Several cases here rely on the knowledge that qemu_img_pipe() suppresses
*all* output on a successful case when the command being issued is
'create'.
065: This call's output is inspected, but it appears as if it's expected
to succeed. Replace this call with the checked qemu_img() variant
instead to get better diagnostics if/when qemu-img itself fails.
237: "create" call output isn't actually logged. Use qemu_img_create()
instead, which checks the return code. Remove the empty lines from
the test output.
296: Two calls;
-create: Expected to succeed. Like other create calls, the output
isn't actually logged. Switch to a checked variant
(qemu_img_create) instead. The output for this test is
a mixture of both test styles, so actually replace the
blank line for readability.
-amend: This is expected to fail. Log the output.
After this patch, the only uses of qemu_img_pipe are internal to
iotests.py and will be removed in subsequent patches.
Signed-off-by: John Snow <jsnow@redhat.com>
Reviewed-by: Hanna Reitz <hreitz@redhat.com>
Message-Id: <
20220321201618.903471-15-jsnow@redhat.com>
Signed-off-by: Hanna Reitz <hreitz@redhat.com>
import re
import json
import iotests
-from iotests import qemu_img, qemu_img_info, qemu_img_pipe
+from iotests import qemu_img, qemu_img_info
import unittest
test_img = os.path.join(iotests.test_dir, 'test.img')
self.assertEqual(data['data'], self.json_compare)
def test_human(self):
- data = qemu_img_pipe('info', '--output=human', test_img).split('\n')
+ data = qemu_img('info', '--output=human', test_img).stdout.split('\n')
data = data[(data.index('Format specific information:') + 1)
:data.index('')]
for field in data:
iotests.log("")
for path in [ extent1_path, extent2_path, extent3_path ]:
- msg = iotests.qemu_img_pipe('create', '-f', imgfmt, path, '0')
- iotests.log(msg, [iotests.filter_testfiles])
+ iotests.qemu_img_create('-f', imgfmt, path, '0')
vm.add_blockdev('driver=file,filename=%s,node-name=ext1' % (extent1_path))
vm.add_blockdev('driver=file,filename=%s,node-name=ext2' % (extent2_path))
=== Other subformats ===
-
-
-
== Missing extent ==
{"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"driver": "vmdk", "file": "node0", "size": 33554432, "subformat": "monolithicFlat"}}}
# create the encrypted block device using qemu-img
def createImg(self, file, secret):
- output = iotests.qemu_img_pipe(
+ iotests.qemu_img(
'create',
'--object', *secret.to_cmdline_object(),
'-f', iotests.imgfmt,
'-o', 'iter-time=10',
file,
'1M')
-
- iotests.log(output, filters=[iotests.filter_test_dir])
+ iotests.log('')
# attempts to add a key using qemu-img
def addKey(self, file, secret, new_secret):
}
}
- output = iotests.qemu_img_pipe(
+ output = iotests.qemu_img(
'amend',
'--object', *secret.to_cmdline_object(),
'--object', *new_secret.to_cmdline_object(),
'-o', 'new-secret=' + new_secret.id(),
'-o', 'iter-time=10',
- "json:" + json.dumps(image_options)
- )
+ "json:" + json.dumps(image_options),
+ check=False # Expected to fail. Log output.
+ ).stdout
iotests.log(output, filters=[iotests.filter_test_dir])