[Python-Dev] regression tests with regrtest.py -r (original) (raw)

Guido van Rossum guido@python.org
Sat, 15 Dec 2001 13:01:07 -0500


On a lark, I decided to try running the regression tests with -r,

Good idea!

which tells regrtest.py to run the tests in random order. With this, I get the following warnings from testlong.py:

../Lib/test/testlong.py:266: OverflowWarning: integer addition special = [0, 1, 2, 3, sys.maxint-1, sys.maxint, sys.maxint+1] [...] This was with the CVS trunk, which is still virtually identical to the 2.2c1 release. I won't have time to look at them this weekend, but this should be fixed. It may be possible there are other order-dependent behaviors, so it would be really good if people who have time can run the tests with -r on whatever platforms are available and report any other anomolies.

I've found the cause: test_scope.py contains a call to warnings.resetwarnings(), which removes all warning filters, not just those made by the calling module. Because of the way OverflowWarning is suppressed, this removes the "preset" filter that suppresses OverflowWarning.

Since an API redesign before the 2.2 release is out of the question, I'm fixing this by removing the resetwarnings() call from test_scope.py and making the filterwarnings() call there a little more specific.

--Guido van Rossum (home page: http://www.python.org/~guido/)