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
This commit is contained in:
Dean Troyer 2014-03-21 11:48:01 -05:00
parent 116023f8e4
commit d401c84a77

View File

@ -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 @@ fi
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 @@ echo "Ensuring we don't have crazy refs"
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