[test] Replace check_output with low level version

This commit is contained in:
João Barbosa 2017-09-06 16:36:13 +01:00 committed by Alexander Block
parent 654815456e
commit 102c3f2cec

View File

@ -184,5 +184,10 @@ class TestNodeCLI():
if named_args:
p_args += ["-named"]
p_args += [command] + pos_args + named_args
cli_output = subprocess.check_output(p_args, input=self.input, universal_newlines=True)
return json.loads(cli_output, parse_float=decimal.Decimal)
process = subprocess.Popen(p_args, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, universal_newlines=True)
cli_stdout, cli_stderr = process.communicate(input=self.input)
returncode = process.poll()
if returncode:
# Ignore cli_stdout, raise with cli_stderr
raise subprocess.CalledProcessError(returncode, self.binary, output=cli_stderr)
return json.loads(cli_stdout, parse_float=decimal.Decimal)