You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kudu.apache.org by "Todd Lipcon (Code Review)" <ge...@ip-10-146-233-104.ec2.internal> on 2016/01/15 03:25:45 UTC
[kudu-CR] Fix up dist_test for C++11, add dist_test support for Jenkins builds
Hello Dan Burkert, Mike Percy, Adar Dembo,
I'd like you to do a code review. Please visit
http://gerrit.cloudera.org:8080/1791
to review the following change.
Change subject: Fix up dist_test for C++11, add dist_test support for Jenkins builds
......................................................................
Fix up dist_test for C++11, add dist_test support for Jenkins builds
This commit does two separate things, but wasn't worth the effort of teasing
the changes out -- I was working on Jenkins-ifying dist_test when the C++11
changes came in and broke everything, so the two projects got done simultaneously
along with a few other fixes.
Jenkins-related changes:
- Adds flaky-test retry support to dist_test. For flaky tests, we submit the
task to the dist test server with a 'max_retries' field so that it will
automatically resubmit after a failure.
- Adds kudu-ts-cli to the list of dependencies (fixes some tests which now
shell out to it)
- Adds a 'no_dist_test' ctest label to the tests which currently won't run
correctly in the distributed test sandbox. These are basically client tests
which require various dev tools to be on the box at runtime, which aren't
present in the slave environment.
- Adds an ENABLE_DIST_TEST flag to the Jenkins script. When this is passed,
it runs the dist-test-capable tests on the cluster, collects the results,
and moves them back into the correct directory layout such that Jenkins
can parse the results.
- Passes through KUDU_COMPRESS_TEST_OUTPUT to the slave environment.
- For RELEASE builds, if dist test is enabled, dynamic link for better performance.
C++11-related changes:
- Fixes the path to llvm-symbolizer now that we build llvm 3.7 as part of our
thirdparty build.
- Switches from passing the thirdparty directory as an LD_LIBRARY_PATH
variable to instead tweak the RPATH of binaries on the slave. This was
necessary so that llvm-symbolizer would run correctly in the TSAN environment.
- Fixed the way that we pass environment variables inside enable_devtoolset.sh
to use the 'env' utility. Without this, on Ubuntu boxes, I was getting an error
that 'CC=/path/to/clang' was not an executable.
Sort-of-unrelated:
- Adds a --no-wait flag to the dist test script. I'm planning on using this
soon to have the Jenkins slaves submit the dist test job, then run python
and Java tests locally while the other tests are running remotely, then
later collect the results. I ended up ripping that out for now, but left
the support in the dist-test code.
Change-Id: I816f87ca5d1c6147746cfa3230bfe449c849e561
---
M build-support/dist_test.py
M build-support/jenkins/build-and-test.sh
M build-support/run_dist_test.py
M src/kudu/client/CMakeLists.txt
4 files changed, 190 insertions(+), 65 deletions(-)
git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/91/1791/1
--
To view, visit http://gerrit.cloudera.org:8080/1791
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I816f87ca5d1c6147746cfa3230bfe449c849e561
Gerrit-PatchSet: 1
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Todd Lipcon <to...@apache.org>
Gerrit-Reviewer: Adar Dembo <ad...@cloudera.com>
Gerrit-Reviewer: Dan Burkert <da...@cloudera.com>
Gerrit-Reviewer: Mike Percy <mp...@cloudera.com>