
Added run_tests.sh, taken shamelessly from taskflow. Change-Id: I39b9cfa106c06296b917077cc3ef93dbf5a9a03b
89 lines
1.9 KiB
Bash
Executable File
89 lines
1.9 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
function usage {
|
|
echo "Usage: $0 [OPTION]..."
|
|
echo "Run Entropy's test suite(s)"
|
|
echo ""
|
|
echo " -f, --force Force a clean re-build of the virtual environment. Useful when dependencies have been added."
|
|
echo " -p, --pep8 Just run pep8"
|
|
echo " -P, --no-pep8 Don't run static code checks"
|
|
echo " -v, --verbose Increase verbosity of reporting output"
|
|
echo " -h, --help Print this usage message"
|
|
echo ""
|
|
exit
|
|
}
|
|
|
|
function process_option {
|
|
case "$1" in
|
|
-h|--help) usage;;
|
|
-p|--pep8) let just_pep8=1;;
|
|
-P|--no-pep8) let no_pep8=1;;
|
|
-f|--force) let force=1;;
|
|
-v|--verbose) let verbose=1;;
|
|
*) pos_args="$pos_args $1"
|
|
esac
|
|
}
|
|
|
|
verbose=0
|
|
force=0
|
|
pos_args=""
|
|
just_pep8=0
|
|
no_pep8=0
|
|
tox_args=""
|
|
tox=""
|
|
|
|
for arg in "$@"; do
|
|
process_option $arg
|
|
done
|
|
|
|
py=`which python`
|
|
if [ -z "$py" ]; then
|
|
echo "Python is required to use $0"
|
|
echo "Please install it via your distributions package management system."
|
|
exit 1
|
|
fi
|
|
|
|
py_envs=`python -c 'import sys; print("py%s%s" % (sys.version_info[0:2]))'`
|
|
py_envs=${PY_ENVS:-$py_envs}
|
|
|
|
function run_tests {
|
|
local tox_cmd="${tox} ${tox_args} -e $py_envs ${pos_args}"
|
|
echo "Running tests for environments $py_envs via $tox_cmd"
|
|
bash -c "$tox_cmd"
|
|
}
|
|
|
|
function run_flake8 {
|
|
local tox_cmd="${tox} ${tox_args} -e pep8 ${pos_args}"
|
|
echo "Running flake8 via $tox_cmd"
|
|
bash -c "$tox_cmd"
|
|
}
|
|
|
|
if [ $force -eq 1 ]; then
|
|
tox_args="$tox_args -r"
|
|
fi
|
|
|
|
if [ $verbose -eq 1 ]; then
|
|
tox_args="$tox_args -v"
|
|
fi
|
|
|
|
tox=`which tox`
|
|
if [ -z "$tox" ]; then
|
|
echo "Tox is required to use $0"
|
|
echo "Please install it via \`pip\` or via your distributions" \
|
|
"package management system."
|
|
echo "Visit http://tox.readthedocs.org/ for additional installation" \
|
|
"instructions."
|
|
exit 1
|
|
fi
|
|
|
|
if [ $just_pep8 -eq 1 ]; then
|
|
run_flake8
|
|
exit
|
|
fi
|
|
|
|
run_tests || exit
|
|
|
|
if [ $no_pep8 -eq 0 ]; then
|
|
run_flake8
|
|
fi
|