Fix run_tests to not mask bash8 errors
The addition of the crazy-refs check masked the bash8 exit code. So add
the same pass/fail handling from exercise.sh to provide a neat summary at
the end of the run.
Change-Id: I169eb90c619a114cf8584bee70b7dcda67769dc5
diff --git a/run_tests.sh b/run_tests.sh
index 685b203..b1aef4f 100755
--- a/run_tests.sh
+++ b/run_tests.sh
@@ -15,6 +15,23 @@
#
# this runs a series of unit tests for devstack to ensure it's functioning
+PASSES=""
+FAILURES=""
+
+# Check the return code and add the test to PASSES or FAILURES as appropriate
+# pass_fail <result> <expected> <name>
+function pass_fail {
+ local result=$1
+ local expected=$2
+ local test_name=$3
+
+ if [[ $result -ne $expected ]]; then
+ FAILURES="$FAILURES $test_name"
+ else
+ PASSES="$PASSES $test_name"
+ fi
+}
+
if [[ -n $@ ]]; then
FILES=$@
else
@@ -27,6 +44,7 @@
echo "Running bash8..."
./tools/bash8.py -v $FILES
+pass_fail $? 0 bash8
# Test that no one is trying to land crazy refs as branches
@@ -35,8 +53,21 @@
REFS=`grep BRANCH stackrc | grep -v -- '-master'`
rc=$?
+pass_fail $rc 1 crazy-refs
if [[ $rc -eq 0 ]]; then
echo "Branch defaults must be master. Found:"
echo $REFS
+fi
+
+echo "====================================================================="
+for script in $PASSES; do
+ echo PASS $script
+done
+for script in $FAILURES; do
+ echo FAILED $script
+done
+echo "====================================================================="
+
+if [[ -n "$FAILURES" ]]; then
exit 1
fi