# 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. """Helper script for GN to run an arbitrary binary. See compiled_action.gni. Run with: python gn_run_binary.py [args ...] """ 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] # The rest of the arguements are passed directly to the executable. args = [path] + sys.argv[2:] try: subprocess.check_output(args, stderr=subprocess.STDOUT) except subprocess.CalledProcessError as ex: print("Command failed: " + ' '.join(args)) print("exitCode: " + str(ex.returncode)) print(ex.output.decode('utf-8', errors='replace')) sys.exit(ex.returncode)