| #!/usr/bin/env python |
| |
| # Copyright (c) 2019 The WebRTC project authors. All Rights Reserved. |
| # |
| # Use of this source code is governed by a BSD-style license |
| # that can be found in the LICENSE file in the root of the source |
| # tree. An additional intellectual property rights grant can be found |
| # in the file PATENTS. All contributing project authors may |
| # be found in the AUTHORS file in the root of the source tree. |
| |
| import argparse |
| import logging |
| import os |
| import subprocess |
| import sys |
| |
| |
| def main(): |
| parser = argparse.ArgumentParser() |
| parser.add_argument('--isolated-script-test-perf-output') |
| args, unrecognized_args = parser.parse_known_args() |
| |
| test_command = _ForcePythonInterpreter(unrecognized_args) |
| if args.isolated_script_test_perf_output: |
| # TODO(bugs.webrtc.org/11895): Move this code somewhere else because |
| # flags_compatibility.py shouldn't create output directories. |
| output_dirname = os.path.dirname(args.isolated_script_test_perf_output) |
| if not os.path.exists(output_dirname): |
| os.makedirs(output_dirname) |
| test_command += ['--isolated_script_test_perf_output=' + |
| args.isolated_script_test_perf_output] |
| logging.info('Running %r', test_command) |
| |
| return subprocess.call(test_command) |
| |
| |
| def _ForcePythonInterpreter(cmd): |
| """Returns the fixed command line to call the right python executable.""" |
| out = cmd[:] |
| if out[0] == 'python': |
| out[0] = sys.executable |
| elif out[0].endswith('.py'): |
| out.insert(0, sys.executable) |
| return out |
| |
| |
| if __name__ == '__main__': |
| # pylint: disable=W0101 |
| logging.basicConfig(level=logging.INFO) |
| sys.exit(main()) |