gh-109156: Add tests for de-instrumenting instructions with instrumented lines (GH-109157)

This commit is contained in:
Tian Gao 2023-09-13 01:47:35 -07:00 committed by GitHub
parent a0c06a4f93
commit d69805b38a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 18 additions and 0 deletions

View File

@ -1152,6 +1152,23 @@ def func1():
('instruction', 'func1', 14),
('line', 'get_events', 11)])
def test_turn_off_only_instruction(self):
"""
LINE events should be recorded after INSTRUCTION event is turned off
"""
events = []
def line(*args):
events.append("line")
sys.monitoring.set_events(TEST_TOOL, 0)
sys.monitoring.register_callback(TEST_TOOL, E.LINE, line)
sys.monitoring.register_callback(TEST_TOOL, E.INSTRUCTION, lambda *args: None)
sys.monitoring.set_events(TEST_TOOL, E.LINE | E.INSTRUCTION)
sys.monitoring.set_events(TEST_TOOL, E.LINE)
events = []
a = 0
sys.monitoring.set_events(TEST_TOOL, 0)
self.assertGreater(len(events), 0)
class TestInstallIncrementallly(MonitoringTestBase, unittest.TestCase):
def check_events(self, func, must_include, tool=TEST_TOOL, recorders=(ExceptionRecorder,)):

View File

@ -0,0 +1 @@
Add tests for de-instrumenting instructions while keeping the instrumentation for lines