fonttools/run-tests.sh

58 lines
1.0 KiB
Bash
Raw Normal View History

2015-03-03 09:57:41 -08:00
#!/bin/sh
# exit if any subcommand return non-zero status
set -e
# 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"
if [ "x$PYTHONPATH" != "x" ]; then
PYTHONPATH=".:$PYTHONPATH"
else
PYTHONPATH="."
fi
export PYTHONPATH
# Find tests
FILTER=
2015-04-19 11:53:35 -07:00
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
2015-04-21 11:06:56 -07:00
FAILS=
for test in $TESTS; do
echo "Running tests in $test"
2015-04-07 18:26:13 -07:00
test=`echo "$test" | sed 's@[/\\]@.@g;s@[.]py$@@'`
if ! $PYTHON -m $test -v; then
ret=$((ret+1))
2015-04-21 11:06:56 -07:00
FAILS="$FAILS
$test"
fi
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
fi
exit $ret