aodh/run-tests.sh
Julien Danjou d2578433b1 Disable mongod prealloc, wait for it to start
No prealloc should make mongod starts faster, and the while loop will
wait it is listening before running the tests.

Change-Id: Ia2ff201c0cfa882aa00bb7ce8ce990525f18339e
2013-07-16 15:15:40 +02:00

40 lines
1.1 KiB
Bash
Executable File

#!/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
fi
if [ ! "$COVERAGE_ARGS" ]; then
# Nova notifier tests
bash tools/init_testr_if_needed.sh
python setup.py testr --slowest --testr-args="--concurrency=1 --here=nova_tests $*"
fi
# Main unit tests
MONGO_DATA=`mktemp -d`
trap "clean_exit" EXIT
mkfifo ${MONGO_DATA}/out
mongod --maxConns 32 --noprealloc --smallfiles --quiet --noauth --port 29000 --dbpath "${MONGO_DATA}" --bind_ip localhost &>${MONGO_DATA}/out &
MONGO_PID=$!
# Wait for Mongo to start listening to connections
while read line
do
echo "$line" | grep -q 'waiting for connections on port' && break
done < ${MONGO_DATA}/out
# Read the fifo for ever otherwise mongod would block
# + that gives us the log on screen
cat ${MONGO_DATA}/out &
export CEILOMETER_TEST_MONGODB_URL="mongodb://localhost:29000/ceilometer"
python setup.py testr --slowest --testr-args="--concurrency=1 $*" $COVERAGE_ARG