Staging
v0.5.1
https://github.com/python/cpython
Revision 1561babf0c4709e138f01d30127c7d907ec55228 authored by Martin v. Löwis on 29 February 2008, 19:39:25 UTC, committed by Martin v. Löwis on 29 February 2008, 19:39:25 UTC
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r61128 | martin.v.loewis | 2008-02-29 17:59:21 +0100 (Fr, 29 Feb 2008) | 1 line

  Make _hashlib a separate project.
........
  r61132 | georg.brandl | 2008-02-29 19:15:36 +0100 (Fr, 29 Feb 2008) | 2 lines

  Until we got downloadable docs, stop confusing viewers by talking about a nonexisting table.
........
  r61133 | martin.v.loewis | 2008-02-29 19:17:23 +0100 (Fr, 29 Feb 2008) | 1 line

  Build db-4.4.20 with VS9; remove VS2003 build if necessary.
........
  r61135 | georg.brandl | 2008-02-29 19:21:29 +0100 (Fr, 29 Feb 2008) | 2 lines

  #2208: allow for non-standard HHC location.
........
  r61136 | martin.v.loewis | 2008-02-29 19:54:45 +0100 (Fr, 29 Feb 2008) | 1 line

  Port build_ssl.py to 2.4; support HOST_PYTHON variable
........
1 parent 295f4fa
Raw File
Tip revision: 1561babf0c4709e138f01d30127c7d907ec55228 authored by Martin v. Löwis on 29 February 2008, 19:39:25 UTC
Merged revisions 61038,61042-61045,61047,61050,61053,61055-61056,61061-61062,61066,61068,61070,61083,61085,61092-61097,61103-61104,61110-61112,61114-61115,61117,61120-61122,61126-61136 via svnmerge from
Tip revision: 1561bab
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

# 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
back to top