Due to recent Chrome infra changes in https://chromium-review.googlesource.com/c/472290/ tests running on swarming are now assumed to emit JSON results or will be marked as failing. This requires us to use our gtest-parallel wrapper for all our Swarming tests (or implement the --isolated-script-test-output flag, which normally only is implemented by the Chromium test launcher). The low_bandwidth_audio_test can actually run in parallel, so just change that. The webrtc_nonparallel_tests cannot, so this CL changes MB to pass --workers=1 flag to gtest-parallel, which makes the tests run in sequence. This adds a little confusion but the root problem is really that our gtest-parallel script [1] does a lot more than just running the tests in parallel these days, so it should probably be renamed. Also make sure gtest-parallel-wrapper.py [2] consumes the --isolated-script-test-chartjson-output flag (unused) so we don't pass it on to the test executable. [1]: https://chromium.googlesource.com/external/github.com/google/gtest-parallel/+/master/gtest-parallel [2]: https://chromium.googlesource.com/external/webrtc/+/master/tools-webrtc/gtest-parallel-wrapper.py BUG=709988 TBR=ehmaldonado@webrtc.org NOTRY=True Review-Url: https://codereview.webrtc.org/2806373002 Cr-Commit-Position: refs/heads/master@{#17646}
MB - The Meta-Build wrapper
MB is a simple wrapper intended to provide a uniform interface to either GYP or GN, such that users and bots can call one script and not need to worry about whether a given bot is meant to use GN or GYP.
It supports two main functions:
-
"gen" - the main
gyp_chromium/gn geninvocation that generates the Ninja files needed for the build. -
"analyze" - the step that takes a list of modified files and a list of desired targets and reports which targets will need to be rebuilt.
We also use MB as a forcing function to collect all of the different
build configurations that we actually support for Chromium builds into
one place, in //tools/mb/mb_config.pyl.
For more information, see: