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}
diff --git a/tools_webrtc/flags_compatibility.py b/tools_webrtc/flags_compatibility.py
new file mode 100644
index 0000000..9a3e5a1
--- /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 43bdc17..e38c3b8 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 43b9cb4..9628a67 100755
--- a/tools_webrtc/mb/mb.py
+++ b/tools_webrtc/mb/mb.py
@@ -822,15 +822,19 @@
'../../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 c178000..3ae3869 100755
--- a/tools_webrtc/mb/mb_unittest.py
+++ b/tools_webrtc/mb/mb_unittest.py
@@ -453,9 +453,11 @@
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',