aboutsummaryrefslogtreecommitdiff
path: root/tests/qemu-iotests/iotests.py
diff options
context:
space:
mode:
authorVladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>2021-09-06 22:06:51 +0300
committerVladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>2021-12-23 09:40:32 +0100
commitc34ec5137d67bab194d5c20e1c85e0e5d392af8c (patch)
tree20c9a0efcad62c272cc25825419feb2cc3d1cbdf /tests/qemu-iotests/iotests.py
parent9e14491af473e94ea836c70c8a57da68d02e62b8 (diff)
downloadqemu-c34ec5137d67bab194d5c20e1c85e0e5d392af8c.zip
qemu-c34ec5137d67bab194d5c20e1c85e0e5d392af8c.tar.gz
qemu-c34ec5137d67bab194d5c20e1c85e0e5d392af8c.tar.bz2
iotests.py: add qemu_tool_popen()
Split qemu_tool_popen() from qemu_tool_pipe_and_status() to be used separately. Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com> Reviewed-by: Nikita Lapshin <nikita.lapshin@virtuozzo.com>
Diffstat (limited to 'tests/qemu-iotests/iotests.py')
-rw-r--r--tests/qemu-iotests/iotests.py14
1 files changed, 11 insertions, 3 deletions
diff --git a/tests/qemu-iotests/iotests.py b/tests/qemu-iotests/iotests.py
index 83bfedb..452d047 100644
--- a/tests/qemu-iotests/iotests.py
+++ b/tests/qemu-iotests/iotests.py
@@ -138,14 +138,22 @@ def unarchive_sample_image(sample, fname):
shutil.copyfileobj(f_in, f_out)
+def qemu_tool_popen(args: Sequence[str],
+ connect_stderr: bool = True) -> 'subprocess.Popen[str]':
+ stderr = subprocess.STDOUT if connect_stderr else None
+ # pylint: disable=consider-using-with
+ return subprocess.Popen(args,
+ stdout=subprocess.PIPE,
+ stderr=stderr,
+ universal_newlines=True)
+
+
def qemu_tool_pipe_and_status(tool: str, args: Sequence[str],
connect_stderr: bool = True) -> Tuple[str, int]:
"""
Run a tool and return both its output and its exit code
"""
- stderr = subprocess.STDOUT if connect_stderr else None
- with subprocess.Popen(args, stdout=subprocess.PIPE,
- stderr=stderr, universal_newlines=True) as subp:
+ with qemu_tool_popen(args, connect_stderr) as subp:
output = subp.communicate()[0]
if subp.returncode < 0:
cmd = ' '.join(args)