0
0
mirror of https://github.com/python/cpython.git synced 2024-12-01 11:15:56 +01:00
cpython/runtests.sh
Guido van Rossum da5b8f2d28 Rip out the file object's implementation.
Fixed test_import.py while I was at it.

However, there's still a problem in import.c -- get_file() can leak a
FILE struct (not a file descriptor though).  I'm not sure how to fix
this; closing the FILE* closes the file descriptor, and that's the
wrong thing to do when there's still a Python file object keeping the
file descriptor open.  I also would rather not mess with dup(), as it
won't port to Windows.
2007-06-12 23:30:11 +00:00

61 lines
1.3 KiB
Bash
Executable File

#!/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
# The -u flag (edit this file to change).
UFLAG="-unetwork"
# Compute the list of tests to run.
case $# in
0)
TESTS=`(cd Lib/test; ls test_*.py | sed 's/\.py//')`
;;
*)
TESTS="$@"
;;
esac
# Run the tests.
for T in $TESTS
do
echo -n $T
if $PYTHON Lib/test/regrtest.py $UFLAG $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
echo "---------- Re-running test in verbose mode ----------" >>OUT/$T
$PYTHON Lib/test/regrtest.py -v $UFLAG $T >>OUT/$T.out 2>&1
fi
done