| Index: build/gn_run_binary.py
|
| diff --git a/build/gn_run_binary.py b/build/gn_run_binary.py
|
| index 7d83f6136fd70e05e0c3628b527a094f1b69a2b8..4767bc6ee0c1e66651a9fb81e2b5bb562a4d4bb0 100644
|
| --- a/build/gn_run_binary.py
|
| +++ b/build/gn_run_binary.py
|
| @@ -8,15 +8,28 @@ Run with:
|
| python gn_run_binary.py <binary_name> [args ...]
|
| """
|
|
|
| +import os
|
| import sys
|
| import subprocess
|
|
|
| -# This script is designed to run binaries produced by the current build. We
|
| -# always prefix it with "./" to avoid picking up system versions that might
|
| -# also be on the path.
|
| -path = './' + sys.argv[1]
|
| +# Run a command, swallowing the output unless there is an error.
|
| +def run_command(command):
|
| + try:
|
| + subprocess.check_output(command, stderr=subprocess.STDOUT)
|
| + return 0
|
| + except subprocess.CalledProcessError as e:
|
| + return ("Command failed: " + ' '.join(command) + "\n" +
|
| + "output: " + e.output)
|
| +
|
| +# Unless the path is absolute, this script is designed to run binaries produced
|
| +# by the current build. We always prefix it with "./" to avoid picking up system
|
| +# versions that might also be on the path.
|
| +if os.path.isabs(sys.argv[1]):
|
| + path = sys.argv[1]
|
| +else:
|
| + path = './' + sys.argv[1]
|
|
|
| # The rest of the arguements are passed directly to the executable.
|
| args = [path] + sys.argv[2:]
|
|
|
| -sys.exit(subprocess.call(args))
|
| +sys.exit(run_command(args))
|
|
|