mirror of
https://github.com/electron/node-gyp.git
synced 2025-08-15 12:58:19 +02:00
fix: node.js debugger adds stderr (but exit code is 0) -> shouldn't throw (#2719)
* fix: node.js debugger adds stderr (but exit code is 0) -> shouldn't throw * input.py: subprocess.Popen() -> subprocess.run()
This commit is contained in:
parent
8958ecf2bb
commit
c379a744c6
1 changed files with 7 additions and 14 deletions
|
@ -961,13 +961,13 @@ def ExpandVariables(input, phase, variables, build_file):
|
|||
# Fix up command with platform specific workarounds.
|
||||
contents = FixupPlatformCommand(contents)
|
||||
try:
|
||||
p = subprocess.Popen(
|
||||
# stderr will be printed no matter what
|
||||
result = subprocess.run(
|
||||
contents,
|
||||
shell=use_shell,
|
||||
stdout=subprocess.PIPE,
|
||||
stderr=subprocess.PIPE,
|
||||
stdin=subprocess.PIPE,
|
||||
shell=use_shell,
|
||||
cwd=build_file_dir,
|
||||
check=False
|
||||
)
|
||||
except Exception as e:
|
||||
raise GypError(
|
||||
|
@ -975,19 +975,12 @@ def ExpandVariables(input, phase, variables, build_file):
|
|||
% (e, contents, build_file)
|
||||
)
|
||||
|
||||
p_stdout, p_stderr = p.communicate("")
|
||||
p_stdout = p_stdout.decode("utf-8")
|
||||
p_stderr = p_stderr.decode("utf-8")
|
||||
|
||||
if p.wait() != 0 or p_stderr:
|
||||
sys.stderr.write(p_stderr)
|
||||
# Simulate check_call behavior, since check_call only exists
|
||||
# in python 2.5 and later.
|
||||
if result.returncode > 0:
|
||||
raise GypError(
|
||||
"Call to '%s' returned exit status %d while in %s."
|
||||
% (contents, p.returncode, build_file)
|
||||
% (contents, result.returncode, build_file)
|
||||
)
|
||||
replacement = p_stdout.rstrip()
|
||||
replacement = result.stdout.decode("utf-8").rstrip()
|
||||
|
||||
cached_command_results[cache_key] = replacement
|
||||
else:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue