webrtc/tools_webrtc/flags_compatibility.py
Jeremy Leconte 81de439281 Fix missing isolated output directory.
This change aims at fixing swarming errors like the below:
https://chrome-swarming.appspot.com/task?d=true&id=4e548270683c1610
Adding directory in the output path is used by Pinpoint:
https://source.chromium.org/chromium/chromium/src/+/master:third_party/catapult/dashboard/dashboard/pinpoint/models/quest/read_value.py;l=77

Bug: webrtc:11084
Change-Id: If725fd9f87961a86d91f04f25fe283c0be4e0e33
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/182920
Commit-Queue: Jeremy Leconte <jleconte@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32018}
2020-08-31 11:40:10 +00:00

48 lines
1.5 KiB
Python

#!/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.
os.makedirs(os.path.dirname(args.isolated_script_test_perf_output))
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())