[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 66/67] iotests.py: Forbid qemu_img*('create', ...)
From: |
Max Reitz |
Subject: |
[PATCH 66/67] iotests.py: Forbid qemu_img*('create', ...) |
Date: |
Tue, 1 Oct 2019 21:47:14 +0200 |
All tests should use create_test_image().
Signed-off-by: Max Reitz <address@hidden>
---
tests/qemu-iotests/iotests.py | 36 +++++++++++++++++++++++++++--------
1 file changed, 28 insertions(+), 8 deletions(-)
diff --git a/tests/qemu-iotests/iotests.py b/tests/qemu-iotests/iotests.py
index f3c80ba4e9..2e377b8379 100644
--- a/tests/qemu-iotests/iotests.py
+++ b/tests/qemu-iotests/iotests.py
@@ -82,12 +82,20 @@ luks_default_secret_object = 'secret,id=keysec0,data=' + \
luks_default_key_secret_opt = 'key-secret=keysec0'
-def qemu_img(*args):
+# @from_create_test_image is purely for use in create_test_image
+def qemu_img(*args, from_create_test_image=False):
'''Run qemu-img and return the exit code'''
+ args = list(args)
+
+ assert args[0] != 'create' or from_create_test_image, \
+ 'Use iotests.create_test_image for image creation'
+
devnull = open('/dev/null', 'r+')
- exitcode = subprocess.call(qemu_img_args + list(args), stdin=devnull,
stdout=devnull)
+ exitcode = subprocess.call(qemu_img_args + args,
+ stdin=devnull, stdout=devnull)
if exitcode < 0:
- sys.stderr.write('qemu-img received signal %i: %s\n' % (-exitcode, '
'.join(qemu_img_args + list(args))))
+ sys.stderr.write('qemu-img received signal %i: %s\n' %
+ (-exitcode, ' '.join(qemu_img_args + args)))
return exitcode
def ordered_qmp(qmsg, conv_keys=True):
@@ -162,7 +170,7 @@ def create_test_image(filename, size=None, fmt=imgfmt,
opts=[],
if size is not None:
args.append(str(size))
- return qemu_img(*args)
+ return qemu_img(*args, from_create_test_image=True)
# Use this to remove images create with create_test_image in the
# default image format (iotests.imgfmt)
@@ -180,20 +188,32 @@ def remove_test_image(filename):
def qemu_img_verbose(*args):
'''Run qemu-img without suppressing its output and return the exit code'''
- exitcode = subprocess.call(qemu_img_args + list(args))
+ args = list(args)
+
+ assert args[0] != 'create', \
+ 'Use iotests.create_test_image for image creation'
+
+ exitcode = subprocess.call(qemu_img_args + args)
if exitcode < 0:
- sys.stderr.write('qemu-img received signal %i: %s\n' % (-exitcode, '
'.join(qemu_img_args + list(args))))
+ sys.stderr.write('qemu-img received signal %i: %s\n' %
+ (-exitcode, ' '.join(qemu_img_args + args)))
return exitcode
def qemu_img_pipe(*args):
'''Run qemu-img and return its output'''
- subp = subprocess.Popen(qemu_img_args + list(args),
+ args = list(args)
+
+ assert args[0] != 'create', \
+ 'Use iotests.create_test_image for image creation'
+
+ subp = subprocess.Popen(qemu_img_args + args,
stdout=subprocess.PIPE,
stderr=subprocess.STDOUT,
universal_newlines=True)
exitcode = subp.wait()
if exitcode < 0:
- sys.stderr.write('qemu-img received signal %i: %s\n' % (-exitcode, '
'.join(qemu_img_args + list(args))))
+ sys.stderr.write('qemu-img received signal %i: %s\n' %
+ (-exitcode, ' '.join(qemu_img_args + args)))
return subp.communicate()[0]
def qemu_img_log(*args):
--
2.21.0
- [PATCH 56/67] iotests/242: Honor $IMGOPTS, (continued)
- [PATCH 56/67] iotests/242: Honor $IMGOPTS, Max Reitz, 2019/10/01
- [PATCH 57/67] iotests/245: Honor $IMGOPTS, Max Reitz, 2019/10/01
- [PATCH 59/67] iotests/248: Honor $IMGOPTS, Max Reitz, 2019/10/01
- [PATCH 58/67] iotests/246: Honor $IMGOPTS, Max Reitz, 2019/10/01
- [PATCH 60/67] iotests/254: Honor $IMGOPTS, Max Reitz, 2019/10/01
- [PATCH 61/67] iotests/255: Honor $IMGOPTS, Max Reitz, 2019/10/01
- [PATCH 62/67] iotests/256: Honor $IMGOPTS, Max Reitz, 2019/10/01
- [PATCH 65/67] iotests/262: Honor $IMGOPTS, Max Reitz, 2019/10/01
- [PATCH 63/67] iotests/257: Honor $IMGOPTS, Max Reitz, 2019/10/01
- [PATCH 64/67] iotests/258: Honor $IMGOPTS, Max Reitz, 2019/10/01
- [PATCH 66/67] iotests.py: Forbid qemu_img*('create', ...),
Max Reitz <=
- [PATCH 67/67] iotests.py: Drop qemu_img_log(), qemu_img_create(), Max Reitz, 2019/10/01
- Re: [PATCH 00/67] iotests: Honor $IMGOPTS in Python tests, John Snow, 2019/10/01