| name | gtest-parallel |
| description | Run Google Test binaries in parallel using the gtest-parallel script. Use when needing to speed up test execution, run flaky tests with repeat, or filter specific tests. |
gtest-parallel
gtest-parallel is a script that executes Google Test binaries in parallel,
providing speedup for single-threaded tests and tests that do not run at 100%
CPU.
Location
The script is located at third_party/gtest-parallel/gtest-parallel.
Core Flags
Filtering Tests
Use --gtest_filter to run a select set of tests. It supports the same syntax
as Google Test (including exclusion with -).
third_party/gtest-parallel/gtest-parallel path/to/binary --gtest_filter=Foo.*:Bar.*
Timeouts
--timeout=TIMEOUT: Interrupt all remaining processes after the given time
(in seconds).
--timeout_per_test=TIMEOUT_PER_TEST: Interrupt single processes after the
given time (in seconds).
Output and Logging
-d OUTPUT_DIR, --output_dir=OUTPUT_DIR: Output directory for test logs.
Logs will be available under gtest-parallel-logs/ inside the specified
directory.
--dump_json_test_results=DUMP_JSON_TEST_RESULTS: Saves the results of the
tests as a JSON machine-readable file.
Advanced Usage
Repeating Tests (Flakiness Testing)
Use --repeat=N to run tests multiple times.
third_party/gtest-parallel/gtest-parallel path/to/binary --repeat=1000
Workers
Use -w WORKERS or --workers=WORKERS to specify the number of parallel
workers (defaults to the number of cores).
Serializing Test Cases
Use --serialize_test_cases to run tests within the same test case sequentially
(useful if they share resources).