Skip to content

Commit

Permalink
pythongh-109156: Add tests for de-instrumenting instructions with ins…
Browse files Browse the repository at this point in the history
…trumented lines (pythonGH-109157)
  • Loading branch information
gaogaotiantian authored Sep 13, 2023
1 parent a0c06a4 commit d69805b
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 0 deletions.
17 changes: 17 additions & 0 deletions Lib/test/test_monitoring.py
Original file line number Diff line number Diff line change
Expand Up @@ -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,)):
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Add tests for de-instrumenting instructions while keeping the instrumentation for lines

0 comments on commit d69805b

Please sign in to comment.