diff --git a/dev/run-tests-jenkins b/dev/run-tests-jenkins index d9205f08cc1349eb2933152c6748f38bb016fe9e..06c3781eb3ccf3910197b7b9b14268ca3beee85f 100755 --- a/dev/run-tests-jenkins +++ b/dev/run-tests-jenkins @@ -33,9 +33,7 @@ COMMIT_URL="https://github.com/apache/spark/commit/${ghprbActualCommit}" # GitHub doesn't auto-link short hashes when submitted via the API, unfortunately. :( SHORT_COMMIT_HASH="${ghprbActualCommit:0:7}" -# NOTE: Jenkins will kill the whole build after 120 minutes. -# Tests are a large part of that, but not all of it. -TESTS_TIMEOUT="120m" +TESTS_TIMEOUT="120m" # format: http://linux.die.net/man/1/timeout function post_message () { local message=$1 @@ -93,9 +91,14 @@ function post_message () { else merge_note=" * This patch merges cleanly." - non_test_files=$(git diff master --name-only | grep -v "\/test" | tr "\n" " ") + source_files=$( + git diff master --name-only \ + | grep -v -e "\/test" `# ignore files in test directories` \ + | grep -e "\.py$" -e "\.java$" -e "\.scala$" `# include only code files` \ + | tr "\n" " " + ) new_public_classes=$( - git diff master ${non_test_files} `# diff this patch against master and...` \ + git diff master ${source_files} `# diff this patch against master and...` \ | grep "^\+" `# filter in only added lines` \ | sed -r -e "s/^\+//g" `# remove the leading +` \ | grep -e "trait " -e "class " `# filter in lines with these key words` \ @@ -138,7 +141,8 @@ function post_message () { test_result="$?" if [ "$test_result" -eq "124" ]; then - fail_message="**[Tests timed out](${BUILD_URL}consoleFull)** after a configured wait of \`${TESTS_TIMEOUT}\`." + fail_message="**[Tests timed out](${BUILD_URL}consoleFull)** after \ + a configured wait of \`${TESTS_TIMEOUT}\`." post_message "$fail_message" exit $test_result else