[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-block] [Qemu-devel] [PATCH 1/3] iotests.py: Add qemu_nbd_pipe(
From: |
Max Reitz |
Subject: |
Re: [Qemu-block] [Qemu-devel] [PATCH 1/3] iotests.py: Add qemu_nbd_pipe() |
Date: |
Wed, 23 Jan 2019 14:06:27 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.4.0 |
On 21.01.19 21:55, Eric Blake wrote:
> On 12/21/18 5:47 PM, Max Reitz wrote:
>> In some cases, we may want to deal with qemu-nbd errors (e.g. by
>> launching it in a different configuration until it no longer throws
>> any). In that case, we do not want its output ending up in the test
>> output.
>>
>> It may still be useful for handling the error, though, so add a new
>> function that works basically like qemu_nbd(), only that it returns the
>> qemu-nbd output instead of making it end up in the log. In contrast to
>> qemu_img_pipe(), it does still return the exit code as well, though,
>
> In contrast to qemu_nbd(),
But qemu_nbd() does return the exit code. qemu_img_pipe() doesn't.
>> because that is even more important for error handling.
>>
>> Signed-off-by: Max Reitz <address@hidden>
>> ---
>> tests/qemu-iotests/iotests.py | 14 ++++++++++++++
>> 1 file changed, 14 insertions(+)
>>
>> diff --git a/tests/qemu-iotests/iotests.py b/tests/qemu-iotests/iotests.py
>> index d537538ba0..9c3eb9e2f8 100644
>> --- a/tests/qemu-iotests/iotests.py
>> +++ b/tests/qemu-iotests/iotests.py
>> @@ -190,6 +190,20 @@ def qemu_nbd(*args):
>> '''Run qemu-nbd in daemon mode and return the parent's exit code'''
>> return subprocess.call(qemu_nbd_args + ['--fork'] + list(args))
>>
>> +def qemu_nbd_pipe(*args):
>> + '''Run qemu-nbd in daemon mode and return both the parent's exit code
>> + and its output'''
>> + subp = subprocess.Popen(qemu_nbd_args + ['--fork'] + list(args),
>> + stdout=subprocess.PIPE,
>> + stderr=subprocess.STDOUT,
>> + universal_newlines=True)
>> + exitcode = subp.wait()
>> + if exitcode < 0:
>> + sys.stderr.write('qemu-nbd received signal %i: %s\n' %
>> + (-exitcode,
>> + ' '.join(qemu_nbd_args + ['--fork'] +
>> list(args))))
>> + return exitcode, subp.communicate()[0]
>> +
>
> Reviewed-by: Eric Blake <address@hidden>
Thanks for reviewing!
Max
signature.asc
Description: OpenPGP digital signature