diff options
author | Guido van Rossum <guido@python.org> | 2007-05-23 17:28:08 (GMT) |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 2007-05-23 17:28:08 (GMT) |
commit | e53309ce4715262e9dcb6fb09177d61dcdb86c41 (patch) | |
tree | f433e3dad336306f4070e9c33b4549712b62c4c3 /runtests.sh | |
parent | 522a6c66ac705132c57727d0429c9c1d3788922b (diff) | |
download | cpython-e53309ce4715262e9dcb6fb09177d61dcdb86c41.zip cpython-e53309ce4715262e9dcb6fb09177d61dcdb86c41.tar.gz cpython-e53309ce4715262e9dcb6fb09177d61dcdb86c41.tar.bz2 |
This is how I run the tests.
Diffstat (limited to 'runtests.sh')
-rwxr-xr-x | runtests.sh | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/runtests.sh b/runtests.sh new file mode 100755 index 0000000..5a03b0a --- /dev/null +++ b/runtests.sh @@ -0,0 +1,55 @@ +#!/bin/sh + +# A script that runs each unit test independently, with output +# directed to a file in OUT/$T.out. If command line arguments are +# given, they are tests to run; otherwise every file named +# Lib/test/test_* is run (via regrtest). A summary of failing, +# passing and skipped tests is written to stdout and to the files +# GOOD, BAD and SKIPPED. + +# Reset PYTHONPATH to avoid alien influences on the tests. +unset PYTHONPATH + +# Choose the Python binary. +case `uname` in +Darwin) PYTHON=./python.exe;; +*) PYTHON=./python;; +esac + +# Create the output directory if necessary. +mkdir -p OUT + +# Empty the summary files. +>GOOD +>BAD +>SKIPPED + +# Compute the list of tests to run. +case $# in +0) + TESTS=`(cd Lib/test; ls test_*.py | sed 's/\.py//' | grep -v test_socket)` + ;; +*) + TESTS="$@" + ;; +esac + +# Run the tests. +for T in $TESTS +do + echo -n $T + if $PYTHON Lib/test/regrtest.py -uall $T >OUT/$T.out 2>&1 + then + if grep -q "1 test skipped:" OUT/$T.out + then + echo " SKIPPED" + echo $T >>SKIPPED + else + echo + echo $T >>GOOD + fi + else + echo " BAD" + echo $T >>BAD + fi +done |