diff options
| author | jaypipes@gmail.com <> | 2010-08-17 22:33:46 +0000 |
|---|---|---|
| committer | Tarmac <> | 2010-08-17 22:33:46 +0000 |
| commit | 018ce9abbfb7047eff1e99379fba098a365e89eb (patch) | |
| tree | 57d9141ebdf951986b954af6eccb403eb92c8df0 | |
| parent | 1d47c190ea90ab34e98e7a76104f919d6bcd5be0 (diff) | |
| parent | 3d15adb40c5fc569bd29d4779fca792263338e54 (diff) | |
| download | nova-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-x | run_tests.sh | 60 |
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 |
