Index: build/gn_run_binary.py |
diff --git a/build/gn_run_binary.py b/build/gn_run_binary.py |
old mode 100644 |
new mode 100755 |
index 4767bc6ee0c1e66651a9fb81e2b5bb562a4d4bb0..5d3ba453558c3d858f9b4a271f6616133ff09188 |
--- a/build/gn_run_binary.py |
+++ b/build/gn_run_binary.py |
@@ -1,3 +1,4 @@ |
+#!/usr/bin/env python |
# Copyright 2014 The Chromium Authors. All rights reserved. |
# Use of this source code is governed by a BSD-style license that can be |
# found in the LICENSE file. |
@@ -21,15 +22,26 @@ def run_command(command): |
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] |
+def main(argv): |
+ # 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(argv[1]): |
+ path = argv[1] |
+ else: |
+ path = './' + argv[1] |
-# The rest of the arguements are passed directly to the executable. |
-args = [path] + sys.argv[2:] |
+ if not os.path.isfile(path): |
+ print "Binary not found: " + path |
+ return 0 |
+ |
+ # The rest of the arguements are passed directly to the executable. |
+ args = [path] + argv[2:] |
+ |
+ result = run_command(args) |
+ if result != 0: |
+ print result |
+ return 0 |
-sys.exit(run_command(args)) |
+if __name__ == '__main__': |
+ sys.exit(main(sys.argv)) |