Staging
v0.5.1
v0.5.1
https://github.com/python/cpython
Revision 8284c4a7fb27efd55323513572e247a895a35ae1 authored by Raymond Hettinger on 06 February 2008, 20:47:09 UTC, committed by Raymond Hettinger on 06 February 2008, 20:47:09 UTC
In its previous form, it always returned instance of frozenset which makes this ABC nearly useless as a mixin. In its new form, it needs to be able to assume that the constructor will take a frozenset input. This will usually be true. If it is not, then only one method (this one) will need to be overriden by the subclass to let it know about the unique constructor signature. Will add info on this to the docs.
1 parent ebcee3f
Tip revision: 8284c4a7fb27efd55323513572e247a895a35ae1 authored by Raymond Hettinger on 06 February 2008, 20:47:09 UTC
Fix-up the _from_iterable() method to return instances of the subclass where it is used.
Fix-up the _from_iterable() method to return instances of the subclass where it is used.
Tip revision: 8284c4a
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
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...