Reland "Add wrapper to normalize flags."

This is a reland of 642a49d1eb20b8c5744e745de79ddb585e0f7472

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}
This commit is contained in:
Mirko Bonadei
2019-07-10 19:21:20 +02:00
committed by Commit Bot
parent 4c2c412d7e
commit bd33ce2620
4 changed files with 60 additions and 7 deletions

View File

@ -0,0 +1,48 @@
#!/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())

View File

@ -126,7 +126,6 @@
},
"webrtc_perf_tests": {
"label": "//:webrtc_perf_tests",
"timeout": 3600, # 1 hour
"type": "raw",
},
}

View File

@ -822,15 +822,19 @@ class MetaBuildWrapper(object):
'../../testing/test_env.py',
]
if test_type == 'raw':
cmdline.append('../../tools_webrtc/flags_compatibility.py')
extra_files.append('../../tools_webrtc/flags_compatibility.py')
must_retry = False
if test_type == 'script':
cmdline = ['../../' + self.ToSrcRelPath(isolate_map[target]['script'])]
cmdline += ['../../' + self.ToSrcRelPath(isolate_map[target]['script'])]
elif is_android:
cmdline = ['../../build/android/test_wrapper/logdog_wrapper.py',
'--target', target,
'--logdog-bin-cmd', '../../bin/logdog_butler',
'--logcat-output-file', '${ISOLATED_OUTDIR}/logcats',
'--store-tombstones']
cmdline += ['../../build/android/test_wrapper/logdog_wrapper.py',
'--target', target,
'--logdog-bin-cmd', '../../bin/logdog_butler',
'--logcat-output-file', '${ISOLATED_OUTDIR}/logcats',
'--store-tombstones']
else:
if isolate_map[target].get('use_webcam', False):
cmdline.append('../../tools_webrtc/ensure_webcam_is_running.py')

View File

@ -453,9 +453,11 @@ class UnitTest(unittest.TestCase):
self.assertEqual(files, [
'../../.vpython',
'../../testing/test_env.py',
'../../tools_webrtc/flags_compatibility.py',
'base_unittests',
])
self.assertEqual(command, [
'../../tools_webrtc/flags_compatibility.py',
'../../testing/test_env.py',
'./base_unittests',
'--asan=0',