summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjaypipes@gmail.com <>2010-08-17 22:33:46 +0000
committerTarmac <>2010-08-17 22:33:46 +0000
commit018ce9abbfb7047eff1e99379fba098a365e89eb (patch)
tree57d9141ebdf951986b954af6eccb403eb92c8df0
parent1d47c190ea90ab34e98e7a76104f919d6bcd5be0 (diff)
parent3d15adb40c5fc569bd29d4779fca792263338e54 (diff)
downloadnova-018ce9abbfb7047eff1e99379fba098a365e89eb.tar.gz
nova-018ce9abbfb7047eff1e99379fba098a365e89eb.tar.xz
nova-018ce9abbfb7047eff1e99379fba098a365e89eb.zip
No longer installs a virtualenv automatically and adds new options to bypass the interactive prompt.
-rwxr-xr-xrun_tests.sh60
1 files changed, 57 insertions, 3 deletions
diff --git a/run_tests.sh b/run_tests.sh
index 85d7c8834..6ea40d95e 100755
--- a/run_tests.sh
+++ b/run_tests.sh
@@ -1,12 +1,66 @@
-#!/bin/bash
+#!/bin/bash
+
+function usage {
+ echo "Usage: $0 [OPTION]..."
+ echo "Run Nova's test suite(s)"
+ echo ""
+ echo " -V, --virtual-env Always use virtualenv. Install automatically if not present"
+ echo " -N, --no-virtual-env Don't use virtualenv. Run tests in local environment"
+ echo " -h, --help Print this usage message"
+ echo ""
+ echo "Note: with no options specified, the script will try to run the tests in a virtual environment,"
+ echo " If no virtualenv is found, the script will ask if you would like to create one. If you "
+ echo " prefer to run tests NOT in a virtual environment, simply pass the -N option."
+ exit
+}
+
+function process_options {
+ array=$1
+ elements=${#array[@]}
+ for (( x=0;x<$elements;x++)); do
+ process_option ${array[${x}]}
+ done
+}
+
+function process_option {
+ option=$1
+ case $option in
+ -h|--help) usage;;
+ -V|--virtual-env) let always_venv=1; let never_venv=0;;
+ -N|--no-virtual-env) let always_venv=0; let never_venv=1;;
+ esac
+}
venv=.nova-venv
with_venv=tools/with_venv.sh
+always_venv=0
+never_venv=0
+options=("$@")
+
+process_options $options
+
+if [ $never_venv -eq 1 ]; then
+ # Just run the test suites in current environment
+ python run_tests.py
+ exit
+fi
if [ -e ${venv} ]; then
${with_venv} python run_tests.py $@
else
- echo "No virtual environment found...creating one"
- python tools/install_venv.py
+ if [ $always_venv -eq 1 ]; then
+ # Automatically install the virtualenv
+ python tools/install_venv.py
+ else
+ echo -e "No virtual environment found...create one? (Y/n) \c"
+ read use_ve
+ if [ "x$use_ve" = "xY" ]; then
+ # Install the virtualenv and run the test suite in it
+ python tools/install_venv.py
+ else
+ python run_tests.py
+ exit
+ fi
+ fi
${with_venv} python run_tests.py $@
fi