diff --git a/run-tests.sh b/run-tests.sh index 657cdbb73..413feee19 100755 --- a/run-tests.sh +++ b/run-tests.sh @@ -1,6 +1,15 @@ #!/bin/bash set -e +function clean_exit(){ + local error_code="$?" + rm -rf ${MONGO_DATA} + if [ "$MONGO_PID" ]; then + kill -9 ${MONGO_PID} || true + fi + return $error_code +} + if [ "$1" = "--coverage" ]; then COVERAGE_ARG="$1" shift @@ -14,9 +23,8 @@ fi # Main unit tests MONGO_DATA=`mktemp -d` -trap "rm -rf ${MONGO_DATA}" EXIT +trap "clean_exit" EXIT mongod --maxConns 32 --smallfiles --quiet --noauth --port 29000 --dbpath "${MONGO_DATA}" --bind_ip localhost & MONGO_PID=$! -trap "kill -9 ${MONGO_PID} || true" EXIT export CEILOMETER_TEST_MONGODB_URL="mongodb://localhost:29000/ceilometer" python setup.py testr --slowest --testr-args="--concurrency=1 $*" $COVERAGE_ARG