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.
diff --git a/Lib/test/test_sys.py b/Lib/test/test_sys.py
index a6d926f..b7ddbe9 100644
--- a/Lib/test/test_sys.py
+++ b/Lib/test/test_sys.py
@@ -197,9 +197,10 @@
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