@@ -38,37 +38,47 @@ gcloud auth activate-service-account\
38
38
--project=$GOOGLE_CLOUD_PROJECT
39
39
40
40
echo -e " \n******************** TESTING AFFECTED PROJECTS ********************"
41
+ set +e
41
42
# Diff to find out what has changed from master
43
+ RESULT=0
42
44
cd 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
45
47
# Navigate to project
46
48
file=$( dirname " $file " )
47
49
pushd " $file " > /dev/null
48
50
49
- set +e
50
51
# Only tests changed projects
51
52
git diff --quiet master.. .
52
53
CHANGED=$?
53
54
# Only test leafs to prevent testing twice
54
55
PARENT=$( grep " <modules>" pom.xml -c)
55
- set -e
56
56
57
57
# Check for changes to the current folder
58
58
if [ " $CHANGED " -eq 1 ] && [ " $PARENT " -eq 0 ]; then
59
59
echo " ------------------------------------------------------------"
60
60
echo " - testing $file "
61
61
echo " ------------------------------------------------------------"
62
62
63
+ # Run tests and update RESULT if failed
63
64
mvn -q --batch-mode --fail-at-end clean verify \
64
65
-Dfile.encoding=" UTF-8" \
65
66
-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn \
66
67
-Dmaven.test.redirectTestOutputToFile=true \
67
68
-Dbigtable.projectID=" ${GOOGLE_CLOUD_PROJECT} " \
68
69
-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
70
78
fi
71
79
72
80
popd > /dev/null
73
81
74
82
done
83
+
84
+ exit $RESULT
0 commit comments