Todd Lipcon has submitted this change and it was merged. 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 Reviewed-on: http://gerrit.cloudera.org:8080/1791 Reviewed-by: Adar Dembo <[email protected]> Tested-by: Todd Lipcon <[email protected]> --- 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 M src/kudu/client/client_samples-test.sh M src/kudu/twitter-demo/CMakeLists.txt 6 files changed, 201 insertions(+), 68 deletions(-) Approvals: Adar Dembo: Looks good to me, approved Todd Lipcon: Verified -- To view, visit http://gerrit.cloudera.org:8080/1791 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: merged Gerrit-Change-Id: I816f87ca5d1c6147746cfa3230bfe449c849e561 Gerrit-PatchSet: 8 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Todd Lipcon <[email protected]> Gerrit-Reviewer: Adar Dembo <[email protected]> Gerrit-Reviewer: Dan Burkert <[email protected]> Gerrit-Reviewer: Jean-Daniel Cryans Gerrit-Reviewer: Mike Percy <[email protected]> Gerrit-Reviewer: Todd Lipcon <[email protected]>
