From: Guido van Rossum Date: Wed, 23 May 2007 17:28:08 +0000 (+0000) Subject: This is how I run the tests. X-Git-Tag: v3.0a1~892 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=e53309ce4715262e9dcb6fb09177d61dcdb86c41;p=python This is how I run the tests. --- diff --git a/runtests.sh b/runtests.sh new file mode 100755 index 0000000000..5a03b0a342 --- /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