Staging
v0.8.1
v0.8.1
https://github.com/python/cpython
Revision 6fa98fb7ecee40329c5e8d74f583272ffedc97f9 authored by Benjamin Peterson on 02 May 2009, 20:31:20 UTC, committed by Benjamin Peterson on 02 May 2009, 20:31:20 UTC
........ r71662 | vinay.sajip | 2009-04-16 14:15:49 -0500 (Thu, 16 Apr 2009) | 1 line Issue #5768: Change to Unicode output logic and test case for same. ........ r72052 | raymond.hettinger | 2009-04-27 16:12:27 -0500 (Mon, 27 Apr 2009) | 1 line Update spec version number. ........ r72117 | benjamin.peterson | 2009-04-29 15:36:25 -0500 (Wed, 29 Apr 2009) | 1 line run autoconf ........
1 parent b612611
Tip revision: 6fa98fb7ecee40329c5e8d74f583272ffedc97f9 authored by Benjamin Peterson on 02 May 2009, 20:31:20 UTC
Blocked revisions 71662,72052,72117 via svnmerge
Blocked revisions 71662,72052,72117 via svnmerge
Tip revision: 6fa98fb
runtests.sh
#!/bin/bash
HELP="Usage: ./runtests.py [-h] [-x] [flags] [tests]
Runs each unit test independently, with output directed to a file in
OUT/<test>.out. If no tests are given, all tests are run; otherwise,
only the specified tests are run, unless -x is also given, in which
case all tests *except* those given are run.
Standard output shows the name of the tests run, with 'BAD' or
'SKIPPED' added if the test didn't produce a positive result. Also,
three files are created, named 'BAD', 'GOOD' and 'SKIPPED', to which
are written the names of the tests categorized by result.
Flags (arguments starting with '-') are passed transparently to
regrtest.py, except for -x, which is processed here."
# Choose the Python binary.
case `uname` in
Darwin) PYTHON=./python.exe;;
CYGWIN*) PYTHON=./python.exe;;
*) PYTHON=./python;;
esac
PYTHON="$PYTHON -bb"
# Unset PYTHONPATH, just to be sure.
unset PYTHONPATH
# Create the output directory if necessary.
mkdir -p OUT
# Empty the summary files.
>GOOD
>BAD
>SKIPPED
# Process flags (transparently pass these on to regrtest.py)
FLAGS=""
EXCEPT=""
while :
do
case $1 in
-h|--h|-help|--help) echo "$HELP"; exit;;
--) FLAGS="$FLAGS $1"; shift; break;;
-x) EXCEPT="$1"; shift;;
-*) FLAGS="$FLAGS $1"; shift;;
*) break;;
esac
done
# Compute the list of tests to run.
case "$#$EXCEPT" in
0)
TESTS=`(cd Lib/test; ls test_*.py | sed 's/\.py//')`
;;
*-x)
PAT="^(`echo $@ | sed 's/\.py//' | sed 's/ /|/'`)$"
TESTS=`(cd Lib/test; ls test_*.py | sed 's/\.py//' | egrep -v "$PAT")`
;;
*)
TESTS="$@"
;;
esac
# Run the tests.
for T in $TESTS
do
echo -n $T
if case $T in
*curses*)
echo
$PYTHON -E Lib/test/regrtest.py $FLAGS $T 2>OUT/$T.out
;;
*) $PYTHON -E Lib/test/regrtest.py $FLAGS $T >OUT/$T.out 2>&1;;
esac
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
# Summarize results
wc -l BAD GOOD SKIPPED
Computing file changes ...