@@ -38,37 +38,47 @@ gcloud auth activate-service-account\
3838 --project=$GOOGLE_CLOUD_PROJECT
3939
4040echo -e " \n******************** TESTING AFFECTED PROJECTS ********************"
41+ set +e
4142# Diff to find out what has changed from master
43+ RESULT=0
4244cd github/java-docs-samples
43- find * -name pom.xml -print0 | sort -z | while read -d $' \0 ' file
44- do
45+ # For every pom.xml (may break on whitespace)
46+ for file in ** /pom.xml ; do
4547 # Navigate to project
4648 file=$( dirname " $file " )
4749 pushd " $file " > /dev/null
4850
49- set +e
5051 # Only tests changed projects
5152 git diff --quiet master.. .
5253 CHANGED=$?
5354 # Only test leafs to prevent testing twice
5455 PARENT=$( grep " <modules>" pom.xml -c)
55- set -e
5656
5757 # Check for changes to the current folder
5858 if [ " $CHANGED " -eq 1 ] && [ " $PARENT " -eq 0 ]; then
5959 echo " ------------------------------------------------------------"
6060 echo " - testing $file "
6161 echo " ------------------------------------------------------------"
6262
63+ # Run tests and update RESULT if failed
6364 mvn -q --batch-mode --fail-at-end clean verify \
6465 -Dfile.encoding=" UTF-8" \
6566 -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn \
6667 -Dmaven.test.redirectTestOutputToFile=true \
6768 -Dbigtable.projectID=" ${GOOGLE_CLOUD_PROJECT} " \
6869 -Dbigtable.instanceID=instance
69- echo -e " \n Tests complete. \n"
70+ EXIT=$?
71+
72+ if [ $EXIT -ne 0 ]; then
73+ echo -e " \n Tests failed. \n"
74+ RESULT=1
75+ else
76+ echo -e " \n Tests complete. \n"
77+ fi
7078 fi
7179
7280 popd > /dev/null
7381
7482done
83+
84+ exit $RESULT
0 commit comments