webrtc/tools_webrtc/flags_compatibility.py
Oleh Prypin 3a51b0e9d1 Reland "Reland "Add wrapper to normalize flags.""
This is a reland of bd33ce2620

Now it doesn't apply flags_compatibility to Android, because the device runner actually requires it to be dashes (so it can intercept the flag and substitute it with an Android-local file path), but that's OK because the runner also already passes the flag with underscores: https://cs.chromium.org/?q=%22--isolated_script_test_perf_output%22

Original change's description:
> Reland "Add wrapper to normalize flags."
>
> This is a reland of 642a49d1eb
>
> The change has the same effect but is now implemented through mb, rather than specifying a 'script', so that Android's special handling is not skipped.
>
> Original change's description:
> > Add wrapper to normalize flags.
> >
> > Bug: None
> > Change-Id: I9d43602cc66198a29dbc0e7586d948ee76c5ec84
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/145204
> > Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> > Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#28532}
>
> Bug: webrtc:10616
> Change-Id: I60ebd4891dbe8de18c653f8af88181ea966307de
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/145409
> Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#28572}

Bug: webrtc:10616
Change-Id: I56aae5475aed62f069c5cecc01b75d7d6ffcf568
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/145920
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28589}
2019-07-17 14:09:29 +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 subprocess
import sys
def main():
parser = argparse.ArgumentParser()
parser.add_argument('--isolated-script-test-output')
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_output:
test_command += ['--isolated_script_test_output',
args.isolated_script_test_output]
if 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())