blob: cdd9c7e1871562b7958be9ecde490d9f784a3348 [file] [log] [blame]
#!/bin/sh
# 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
echo "$(which $PYTHON) --version"
$PYTHON --version 2>&1
echo
# Setup environment
DIR=`dirname "$0"`
cd "$DIR/Lib"
PYTHONPATH=".:$PYTHONPATH"
export PYTHONPATH
# Find tests
FILTER=
for arg in "$@"; do
test "x$FILTER" != x && FILTER="$FILTER|"
FILTER="$FILTER$arg"
done
test "x$FILTER" = "x" && FILTER=.
TESTS=`grep -r --include='*.py' -l -e doctest -e unittest * | grep -E "$FILTER"`
ret=0
FAILS=
for test in $TESTS; do
echo "Running tests in $test"
test=`echo "$test" | sed 's@[/\\]@.@g;s@[.]py$@@'`
if ! $PYTHON -m $test -v; then
ret=$((ret+1))
FAILS="$FAILS
$test"
fi
done
echo
echo "SUMMARY:"
if test $ret = 0; then
echo "All tests passed."
else
echo "$ret source file(s) had tests failing:$FAILS" >&2
fi
exit $ret