Hash :
bf0c6ae1
Author :
Date :
2021-03-09T13:21:58
Improve Angle Android gtest support This CL makes angle_test() use an angle-specific gtest launcher - AngleUnitTestActivity.java. This enables building standalone Android angle without //base Chromium-Bug: 1149922 Bug: None Change-Id: Id84f3e2bd84c5017ed1988ca07534f424ebfa596 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2745535 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: 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.