Staging
v0.8.1
v0.8.1
https://github.com/python/cpython
Revision 3deeed9a3250dfa1eab6b03db357ce188d512f64 authored by Georg Brandl on 13 August 2009, 09:00:38 UTC, committed by Georg Brandl on 13 August 2009, 09:00:38 UTC
................ r73832 | gregory.p.smith | 2009-07-04 04:28:47 +0200 (Sa, 04 Jul 2009) | 9 lines Merged revisions 73818 via svnmerge from svn+ssh://pythondev@svn.python.org/python/trunk ........ r73818 | gregory.p.smith | 2009-07-03 13:48:31 -0700 (Fri, 03 Jul 2009) | 2 lines Adds the select.PIPE_BUF attribute to expose the system constant. ........ ................
1 parent f78dd34
Tip revision: 3deeed9a3250dfa1eab6b03db357ce188d512f64 authored by Georg Brandl on 13 August 2009, 09:00:38 UTC
Blocked revisions 73832 via svnmerge
Blocked revisions 73832 via svnmerge
Tip revision: 3deeed9
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 ...