Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(30)

Side by Side Diff: build/gn_run_binary.py

Issue 2496673002: Quick fix to gn_run_binary.py to fix Fuchsia build. (Closed)
Patch Set: Fix long lines Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/env python
1 # Copyright 2014 The Chromium Authors. All rights reserved. 2 # Copyright 2014 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 4 # found in the LICENSE file.
4 5
5 """Helper script for GN to run an arbitrary binary. See compiled_action.gni. 6 """Helper script for GN to run an arbitrary binary. See compiled_action.gni.
6 7
7 Run with: 8 Run with:
8 python gn_run_binary.py <binary_name> [args ...] 9 python gn_run_binary.py <binary_name> [args ...]
9 """ 10 """
10 11
11 import os 12 import os
12 import sys 13 import sys
13 import subprocess 14 import subprocess
14 15
15 # Run a command, swallowing the output unless there is an error. 16 # Run a command, swallowing the output unless there is an error.
16 def run_command(command): 17 def run_command(command):
17 try: 18 try:
18 subprocess.check_output(command, stderr=subprocess.STDOUT) 19 subprocess.check_output(command, stderr=subprocess.STDOUT)
19 return 0 20 return 0
20 except subprocess.CalledProcessError as e: 21 except subprocess.CalledProcessError as e:
21 return ("Command failed: " + ' '.join(command) + "\n" + 22 return ("Command failed: " + ' '.join(command) + "\n" +
22 "output: " + e.output) 23 "output: " + e.output)
23 24
24 # Unless the path is absolute, this script is designed to run binaries produced 25 def main(argv):
25 # by the current build. We always prefix it with "./" to avoid picking up system 26 # Unless the path is absolute, this script is designed to run binaries
26 # versions that might also be on the path. 27 # produced by the current build. We always prefix it with "./" to avoid
27 if os.path.isabs(sys.argv[1]): 28 # picking up system versions that might also be on the path.
28 path = sys.argv[1] 29 if os.path.isabs(argv[1]):
29 else: 30 path = argv[1]
30 path = './' + sys.argv[1] 31 else:
32 path = './' + argv[1]
31 33
32 # The rest of the arguements are passed directly to the executable. 34 if not os.path.isfile(path):
33 args = [path] + sys.argv[2:] 35 print "Binary not found: " + path
36 return 0
34 37
35 sys.exit(run_command(args)) 38 # The rest of the arguements are passed directly to the executable.
39 args = [path] + argv[2:]
40
41 result = run_command(args)
42 if result != 0:
43 print result
44 return 0
45
46 if __name__ == '__main__':
47 sys.exit(main(sys.argv))
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698