(Merge 3.4) 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:56:27 +02:00
commit 87bddbac9d
1 changed files with 3 additions and 2 deletions

View File

@ -197,9 +197,10 @@ class SysModuleTest(unittest.TestCase):
self.assertEqual(sys.getrecursionlimit(), 10000)
sys.setrecursionlimit(oldlimit)
@unittest.skipIf(hasattr(sys, 'gettrace') and sys.gettrace(),
'fatal error if run with a trace function')
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
# recursion count when executing the test being low enough so as to
# trigger the recursion recovery detection in the _Py_MakeEndRecCheck