Issue #10992: make tests pass when run under coverage.

Various tests fail when run under coverage. A primary culprit is refcount tests
which fail as the counts are thrown off by the coverage code. A new decorator
-- test.support.refcount_test -- is used to decorate tests which test refcounts
and to skip them when running under coverage. Other tests simply fail because
of changes in the system (e.g., __local__ suddenly appearing).

Thanks to Kristian Vlaardingerbroek for helping to diagnose the test failures.
This commit is contained in:
Brett Cannon 2011-02-22 03:04:06 +00:00
parent eb70e47d85
commit 7a54073a56
13 changed files with 58 additions and 4 deletions

View file

@ -246,7 +246,13 @@ Test failures in looking up the __prepare__ method work.
"""
__test__ = {'doctests' : doctests}
import sys
# Trace function introduces __locals__ which causes various tests to fail.
if hasattr(sys, 'gettrace') and sys.gettrace():
__test__ = {}
else:
__test__ = {'doctests' : doctests}
def test_main(verbose=False):
from test import support