diff --git a/tools_webrtc/flags_compatibility.py b/tools_webrtc/flags_compatibility.py new file mode 100644 index 0000000000..9a3e5a14bf --- /dev/null +++ b/tools_webrtc/flags_compatibility.py @@ -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()) diff --git a/tools_webrtc/mb/gn_isolate_map.pyl b/tools_webrtc/mb/gn_isolate_map.pyl index 43bdc17254..e38c3b83a5 100644 --- a/tools_webrtc/mb/gn_isolate_map.pyl +++ b/tools_webrtc/mb/gn_isolate_map.pyl @@ -126,7 +126,6 @@ }, "webrtc_perf_tests": { "label": "//:webrtc_perf_tests", - "timeout": 3600, # 1 hour "type": "raw", }, } diff --git a/tools_webrtc/mb/mb.py b/tools_webrtc/mb/mb.py index 43b9cb400d..9628a673ae 100755 --- a/tools_webrtc/mb/mb.py +++ b/tools_webrtc/mb/mb.py @@ -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') diff --git a/tools_webrtc/mb/mb_unittest.py b/tools_webrtc/mb/mb_unittest.py index c17800061a..3ae386986b 100755 --- a/tools_webrtc/mb/mb_unittest.py +++ b/tools_webrtc/mb/mb_unittest.py @@ -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',