make run_tests.sh run devstack unit tests

run_tests.sh was created as an entry point for bashate. We stopped
using it now that we know how to run bashate directly in the gate. 
We lost running an unrelated bashate test when that happened.

Devstack does have unit tests. We don't run them. We should. 
Especially when working on things like the LIBS_FROM_GIT which is
sufficiently tricky that we really need to add unit tests to ensure
that we don't break it.

Change-Id: Ife067855569e2eae4c085471d326e8086de37332
This commit is contained in:
Sean Dague 2014-11-17 15:14:49 -05:00
parent 9bfdea87a6
commit 9f20ea1382
2 changed files with 33 additions and 38 deletions

View File

@ -18,47 +18,18 @@
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
LIBS=`find lib -type f | grep -v \.md`
SCRIPTS=`find . -type f -name \*\.sh`
EXTRA="functions functions-common stackrc openrc exerciserc eucarc"
FILES="$SCRIPTS $LIBS $EXTRA"
fi
echo "Running bash8..."
tox -ebashate
pass_fail $? 0 bash8
# Test that no one is trying to land crazy refs as branches
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
for testfile in tests/test_*.sh; do
$testfile
if [[ $? -eq 0 ]]; then
PASSES="$PASSES $testfile"
else
FAILURES="$FAILURES $testfile"
fi
done
# Summary display now that all is said and done
echo "====================================================================="
for script in $PASSES; do
echo PASS $script

24
tests/test_refs.sh Executable file
View File

@ -0,0 +1,24 @@
#!/bin/bash
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
echo "Ensuring we don't have crazy refs"
REFS=`grep BRANCH stackrc | grep -v -- '-master'`
rc=$?
if [[ $rc -eq 0 ]]; then
echo "Branch defaults must be master. Found:"
echo $REFS
exit 1
fi