| #!/usr/bin/env python3 |
| # Copyright 2015 The Chromium Authors |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| """Launches //tools/checkbins/checkbins.py for trybots. |
| |
| To run locally on `out/release`, create /tmp/config.json |
| |
| { |
| "checkout": "." |
| } |
| |
| python3 testing/scripts/checkbins.py \ |
| --paths /tmp/config.json \ |
| --build-config-fs release run \ |
| --output - |
| """ |
| |
| import json |
| import os |
| import sys |
| |
| # Add src/testing/ into sys.path for importing common without pylint errors. |
| sys.path.append( |
| os.path.abspath(os.path.join(os.path.dirname(__file__), os.path.pardir))) |
| from scripts import common |
| |
| WIN_PY3_TARGETS = ['python3.exe', 'python3.bat'] |
| |
| |
| def with_python3(): |
| if sys.version_info.major >= 3: |
| return sys.executable |
| # `env` should have worked on other platforms. |
| if sys.platform == 'win32': |
| # non-exhaustive, we expect depot_tools somewhere. |
| for d in os.environ['PATH'].split(';'): |
| for maybe_py3 in WIN_PY3_TARGETS: |
| if os.path.exists(os.path.join(d, maybe_py3)): |
| return os.path.join(d, maybe_py3) |
| raise Exception("Cannot find python3 to launch checkbins.py") |
| |
| def main_run(args): |
| print(sys.executable) |
| with common.temporary_file() as tempfile_path: |
| rc = common.run_command([ |
| with_python3(), |
| os.path.join(common.SRC_DIR, 'tools', 'checkbins', 'checkbins.py'), |
| '--verbose', |
| '--json', tempfile_path, |
| os.path.join(args.paths['checkout'], 'out', args.build_config_fs), |
| ]) |
| |
| with open(tempfile_path) as f: |
| checkbins_results = json.load(f) |
| |
| common.record_local_script_results( |
| 'checkbins', args.output, checkbins_results, True) |
| |
| return rc |
| |
| |
| def main_compile_targets(args): |
| json.dump([], args.output) |
| |
| |
| if __name__ == '__main__': |
| funcs = { |
| 'run': main_run, |
| 'compile_targets': main_compile_targets, |
| } |
| sys.exit(common.run_script(sys.argv[1:], funcs)) |