summaryrefslogtreecommitdiff
path: root/run_tests.sh
diff options
context:
space:
mode:
Diffstat (limited to 'run_tests.sh')
-rwxr-xr-xrun_tests.sh88
1 files changed, 21 insertions, 67 deletions
diff --git a/run_tests.sh b/run_tests.sh
index 2ecbc4a..dc6cf22 100755
--- a/run_tests.sh
+++ b/run_tests.sh
@@ -4,92 +4,46 @@ function usage {
echo "Usage: $0 [OPTION]..."
echo "Run python-glanceclient'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 " -f, --force Force a clean re-build of the virtual environment. Useful when dependencies have been added."
- echo " --unittests-only Run unit tests only, exclude functional tests."
echo " -p, --pep8 Just run pep8"
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."
+ echo "This script is deprecated and currently retained for compatibility."
+ echo 'You can run the full test suite for multiple environments by running "tox".'
+ echo 'You can run tests for only python 2.7 by running "tox -e py27", or run only'
+ echo 'the pep8 tests with "tox -e pep8".'
exit
}
+command -v tox > /dev/null 2>&1
+if [ $? -ne 0 ]; then
+ echo 'This script requires "tox" to run.'
+ echo 'You can install it with "pip install tox".'
+ exit 1;
+fi
+
+just_pep8=0
+
function process_option {
case "$1" 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;;
-p|--pep8) let just_pep8=1;;
- -f|--force) let force=1;;
- *) noseargs="$noseargs $1"
esac
}
-venv=.venv
-with_venv=tools/with_venv.sh
-always_venv=0
-never_venv=0
-force=0
-noseargs=
-wrapper=""
-just_pep8=0
-
for arg in "$@"; do
process_option $arg
done
-function run_tests {
- # Just run the test suites in current environment
- ${wrapper} rm -f tests.sqlite
- ${wrapper} $NOSETESTS 2> run_tests.err.log
-}
-
-function run_pep8 {
- echo "Running pep8..."
- PEP8_OPTIONS="--exclude=$PEP8_EXCLUDE --repeat"
- PEP8_INCLUDE="glanceclient/*.py setup.py run_tests.py tools/install_venv.py"
- ${wrapper} pep8 $PEP8_OPTIONS $PEP8_INCLUDE
-}
-
-
-NOSETESTS="python run_tests.py $noseargs"
-
-if [ $never_venv -eq 0 ]
-then
- # Remove the virtual environment if --force used
- if [ $force -eq 1 ]; then
- echo "Cleaning virtualenv..."
- rm -rf ${venv}
- fi
- if [ -e ${venv} ]; then
- wrapper="${with_venv}"
- else
- if [ $always_venv -eq 1 ]; then
- # Automatically install the virtualenv
- python tools/install_venv.py
- wrapper="${with_venv}"
- else
- echo -e "No virtual environment found...create one? (Y/n) \c"
- read use_ve
- if [ "x$use_ve" = "xY" -o "x$use_ve" = "x" -o "x$use_ve" = "xy" ]; then
- # Install the virtualenv and run the test suite in it
- python tools/install_venv.py
- wrapper=${with_venv}
- fi
- fi
- fi
-fi
-
if [ $just_pep8 -eq 1 ]; then
- run_pep8
- exit
+ tox -e pep8
+ exit
fi
-run_tests || exit
+tox -e py27 $toxargs 2>&1 | tee run_tests.err.log || exit
+if [ ${PIPESTATUS[0]} -ne 0 ]; then
+ exit ${PIPESTATUS[0]}
+fi
-if [ -z "$noseargs" ]; then
- run_pep8
+if [ -z "$toxargs" ]; then
+ tox -e pep8
fi