On 5/12/21 5:46 PM, John Snow wrote:
> pylint 2.8.x adds warnings whenever we use Popen calls without using
> 'with', so it's desirable to convert synchronous calls to run()
> invocations where applicable.
>
> (Though, this trades one pylint warning for another due to a pylint bug,
> which I've silenced with a pragma and a link to the bug.)
>
> Signed-off-by: John Snow <jsnow@redhat.com>
> ---
> tests/qemu-iotests/iotests.py | 19 +++++++++++--------
> 1 file changed, 11 insertions(+), 8 deletions(-)
>
> diff --git a/tests/qemu-iotests/iotests.py b/tests/qemu-iotests/iotests.py
> index 5af01828951..46deb7f4dd4 100644
> --- a/tests/qemu-iotests/iotests.py
> +++ b/tests/qemu-iotests/iotests.py
> @@ -113,15 +113,16 @@ def qemu_tool_pipe_and_status(tool: str, args: Sequence[str],
> Run a tool and return both its output and its exit code
> """
> stderr = subprocess.STDOUT if connect_stderr else None
> - subp = subprocess.Popen(args,
> - stdout=subprocess.PIPE,
> - stderr=stderr,
> - universal_newlines=True)
> - output = subp.communicate()[0]
> - if subp.returncode < 0:
> + res = subprocess.run(args,
> + stdout=subprocess.PIPE,
> + stderr=stderr,
> + universal_newlines=True,
> + check=False)
> + output = res.stdout
> + if res.returncode < 0:
> cmd = ' '.join(args)
> - sys.stderr.write(f'{tool} received signal {-subp.returncode}: {cmd}\n')
> - return (output, subp.returncode)
> + sys.stderr.write(f'{tool} received signal {-res.returncode}: {cmd}\n')
> + return (output, res.returncode)
>
> def qemu_img_pipe_and_status(*args: str) -> Tuple[str, int]:
> """
> @@ -1153,6 +1154,8 @@ def _verify_virtio_scsi_pci_or_ccw() -> None:
>
>
> def supports_quorum():
> + # https://github.com/PyCQA/astroid/issues/689
Oh, realizing this bug was closed, so this is something
similar-but-different.
Bah. I'll delete this comment and change the commit message.
> + # pylint: disable=unsupported-membership-test
> return 'quorum' in qemu_img_pipe('--help')
>
> def verify_quorum():
>