Hash :
e5c5efc0
Author :
Date :
2021-02-05T02:39:55
Revert "Test Runner: Pick single/multi-process mode automatically." This reverts commit 573d7f34a462fa5b2ca767dd84773ae6fa460d8a. Reason for revert: Breaking ANGLE roll. No-try: true Original change's description: > Test Runner: Pick single/multi-process mode automatically. > > This enables multi-process when running with more than one test > config. This saves developers from remembering to add the arg. > It can also simplify our test configurations by allowing us to omit > the default arguments. On Android by default we stay with single > process. It also changes the --bot-mode flag into --single-process > and --multi-process which override the default behaviour. > > Bug: angleproject:5585 > Change-Id: I3dd885a8a8e6604c224693c546ff5d15224e016e > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2664246 > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> > Reviewed-by: Kenneth Russell <kbr@chromium.org> > Commit-Queue: Jamie Madill <jmadill@chromium.org> TBR=kbr@chromium.org,syoussefi@chromium.org,jonahr@google.com,jmadill@chromium.org,jonahr@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: angleproject:5585 Change-Id: I11ee1034c301aa246c4b03e29ff9b56235a1005c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2676247 Reviewed-by: Jamie Madill <jmadill@chromium.org>
The ANGLE test harness is a harness around GoogleTest that provides functionality similar to the Chromium test harness. It features:
The ANGLE test harness accepts all standard GoogleTest arguments. The harness also accepts the following additional command-line arguments:
--batch-size limits the number of tests to run in each batch --batch-timeout limits the amount of time spent in each batch --bot-mode enables multi-process execution and test batching --debug-test-groups dumps the test config categories when using bot-mode --filter-file allows passing a larger gtest_filter via a file --histogram-json-file outputs a formatted JSON file for perf dashboards --max-processes limits the number of simuntaneous processes --results-directory specifies a directory to write test results to --results-file specifies a location for the JSON test result output --shard-count and --shard-index control the test sharding --test-timeout limits the amount of time spent in each test --flaky-retries allows for tests to fail a fixed number of times and still pass --disable-crash-handler forces off OS-level crash handling --isolated-outdir specifies a test artifacts directory
--isolated-script-test-output and --isolated-script-perf-test-output mirror --results-file
and --histogram-json-file respectively.
As well as the custom command-line arguments we support a few standard GoogleTest arguments:
gtest_filter works as it normally does with GoogleTest gtest_also_run_disabled_tests works as it normally does as well Other GoogleTest arguments are not supported although they may work.
angle_common and angle_util. The test runner has two main modes of operation: normal and bot mode.
During normal mode:
TestEventListener to record test results for our output JSON file. During bot mode:
gtest_filter file. See the source code for more details: TestSuite.h and TestSuite.cpp.