2015-03-03 09:57:41 -08:00
|
|
|
#!/bin/sh
|
2015-04-15 17:41:12 -07:00
|
|
|
|
2015-12-11 16:10:51 +00:00
|
|
|
# exit if any subcommand return non-zero status
|
|
|
|
set -e
|
|
|
|
|
2015-04-15 17:41:12 -07:00
|
|
|
# Choose python version
|
|
|
|
if test "x$1" = x-3; then
|
|
|
|
PYTHON=python3
|
|
|
|
shift
|
|
|
|
elif test "x$1" = x-2; then
|
|
|
|
PYTHON=python2
|
|
|
|
shift
|
|
|
|
fi
|
|
|
|
test "x$PYTHON" = x && PYTHON=python
|
2015-08-20 11:34:53 +01:00
|
|
|
echo "$(which $PYTHON) --version"
|
|
|
|
$PYTHON --version 2>&1
|
|
|
|
echo
|
2015-04-15 17:41:12 -07:00
|
|
|
|
|
|
|
# Setup environment
|
2015-04-25 15:55:45 -07:00
|
|
|
DIR=`dirname "$0"`
|
|
|
|
cd "$DIR/Lib"
|
2016-01-25 18:23:04 +00:00
|
|
|
if [ "x$PYTHONPATH" != "x" ]; then
|
|
|
|
PYTHONPATH=".:$PYTHONPATH"
|
|
|
|
else
|
|
|
|
PYTHONPATH="."
|
|
|
|
fi
|
2015-03-03 10:16:01 -08:00
|
|
|
export PYTHONPATH
|
2015-04-15 17:41:12 -07:00
|
|
|
|
|
|
|
# Find tests
|
2015-04-19 12:04:47 -07:00
|
|
|
FILTER=
|
2015-04-19 11:53:35 -07:00
|
|
|
for arg in "$@"; do
|
2015-04-19 12:04:47 -07:00
|
|
|
test "x$FILTER" != x && FILTER="$FILTER|"
|
|
|
|
FILTER="$FILTER$arg"
|
2015-04-19 04:56:08 -07:00
|
|
|
done
|
|
|
|
|
2015-04-19 12:04:47 -07:00
|
|
|
test "x$FILTER" = "x" && FILTER=.
|
2015-04-19 04:56:08 -07:00
|
|
|
TESTS=`grep -r --include='*.py' -l -e doctest -e unittest * | grep -E "$FILTER"`
|
2015-04-15 17:41:12 -07:00
|
|
|
|
2015-03-03 10:16:01 -08:00
|
|
|
ret=0
|
2015-04-21 11:06:56 -07:00
|
|
|
FAILS=
|
2015-03-03 10:39:55 -08:00
|
|
|
for test in $TESTS; do
|
2015-03-03 10:16:01 -08:00
|
|
|
echo "Running tests in $test"
|
2015-04-07 18:26:13 -07:00
|
|
|
test=`echo "$test" | sed 's@[/\\]@.@g;s@[.]py$@@'`
|
2015-04-14 19:19:05 -07:00
|
|
|
if ! $PYTHON -m $test -v; then
|
2015-03-03 11:31:22 -08:00
|
|
|
ret=$((ret+1))
|
2015-04-21 11:06:56 -07:00
|
|
|
FAILS="$FAILS
|
|
|
|
$test"
|
2015-03-03 10:39:55 -08:00
|
|
|
fi
|
2015-03-03 10:16:01 -08:00
|
|
|
done
|
2015-04-21 11:06:56 -07:00
|
|
|
echo
|
|
|
|
echo "SUMMARY:"
|
|
|
|
if test $ret = 0; then
|
|
|
|
echo "All tests passed."
|
|
|
|
else
|
|
|
|
echo "$ret source file(s) had tests failing:$FAILS" >&2
|
2015-03-03 10:39:55 -08:00
|
|
|
fi
|
2015-03-03 10:16:01 -08:00
|
|
|
exit $ret
|