Issue #25274: test_recursionlimit_recovery() of test_sys now checks

sys.gettrace() when the test is executed, not when the module is loaded.

sys.settrace() may be after after the test is loaded.
This commit is contained in:
Victor Stinner 2015-10-01 08:55:33 +02:00
parent 1c62b52c3f
commit 3f18f10f39
1 changed files with 3 additions and 2 deletions

View File

@ -197,9 +197,10 @@ class SysModuleTest(unittest.TestCase):
self.assertEqual(sys.getrecursionlimit(), 10000) self.assertEqual(sys.getrecursionlimit(), 10000)
sys.setrecursionlimit(oldlimit) sys.setrecursionlimit(oldlimit)
@unittest.skipIf(hasattr(sys, 'gettrace') and sys.gettrace(),
'fatal error if run with a trace function')
def test_recursionlimit_recovery(self): def test_recursionlimit_recovery(self):
if hasattr(sys, 'gettrace') and sys.gettrace():
self.skipTest('fatal error if run with a trace function')
# NOTE: this test is slightly fragile in that it depends on the current # NOTE: this test is slightly fragile in that it depends on the current
# recursion count when executing the test being low enough so as to # recursion count when executing the test being low enough so as to
# trigger the recursion recovery detection in the _Py_MakeEndRecCheck # trigger the recursion recovery detection in the _Py_MakeEndRecCheck