Hello Kudu Jenkins, Adar Dembo,
I'd like you to reexamine a change. Please visit
to look at the new patch set (#4).
Change subject: build: enable sharding within cmake/ctest
build: enable sharding within cmake/ctest
This changes test sharding to be set up via cmake rather than specialized code
in the dist-test wrapper:
* There is a new argument for the ADD_KUDU_TEST() CMake function. When
set, we generate separate CTest executions for each shard of the
test. Thus, 'ctest -j' can now parallelize the multiple shards of
* The specialized sharding logic is now gone from dist_test.py. Instead,
it is now able to parse more of the output from 'ctest -N' and grabs
the sharding-related environment variables directly from there and
passes them down into the test environment.
A few other changes sprung out of this:
- 'dist-test.py loop' no longer understands shards and thus always
submits a non-sharded test. Its functionality is now available
with sharding in the 'run' subcommand, which is an improved
version of the old 'run-all'.
- the 'run' command can now pass through the '-R' regex filter
parameter to ctest. For example, 'dist_test.py run -R consensus'
will run all tests with consensus in the name
- the 'run' command can also now loop tests with the '-n' flag.
Thus we preserve the ability to loop a sharded test suite.
- the 'run' command can also now tack on extra arguments to the end
of all tests that it submits, which is handy for looping a sharded
test suite with --stress-cpu-threads or other common test flags.
* The setting of the GTEST_OUTPUT environment variable is moved from
build-and-test.sh into run_test.sh since it's necessary to ensure
that the different shards output to separate XML files.
* Flaky-test tracking is currently still done by the test binary name
and not the specific shard, though we could easily switch that in
11 files changed, 223 insertions(+), 139 deletions(-)
git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/70/9470/4
To view, visit http://gerrit.cloudera.org:8080/9470
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Owner: Todd Lipcon <t...@apache.org>
Gerrit-Reviewer: Adar Dembo <a...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon <t...@apache.org>