summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_monitoring.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/test/test_monitoring.py')
-rw-r--r--Lib/test/test_monitoring.py12
1 files changed, 11 insertions, 1 deletions
diff --git a/Lib/test/test_monitoring.py b/Lib/test/test_monitoring.py
index b027959..1e77eb6 100644
--- a/Lib/test/test_monitoring.py
+++ b/Lib/test/test_monitoring.py
@@ -9,7 +9,8 @@ import textwrap
import types
import unittest
import asyncio
-from test.support import requires_specialization
+from test import support
+from test.support import requires_specialization, script_helper
PAIR = (0,1)
@@ -1858,3 +1859,12 @@ class TestTier2Optimizer(CheckEvents):
sys.monitoring.register_callback(TEST_TOOL, E.LINE, None)
sys.monitoring.set_events(TEST_TOOL, 0)
self.assertGreater(len(events), 250)
+
+class TestMonitoringAtShutdown(unittest.TestCase):
+
+ def test_monitoring_live_at_shutdown(self):
+ # gh-115832: An object destructor running during the final GC of
+ # interpreter shutdown triggered an infinite loop in the
+ # instrumentation code.
+ script = support.findfile("_test_monitoring_shutdown.py")
+ script_helper.run_test_script(script)