GH-123044: Give the `POP_TOP` after a case test a location in the bod… · python/cpython@be046ee

GitHub

@@ -1681,6 +1681,35 @@ async def foo():

16811681 ('branch left', 'func', 12, 12)])

16821682168316831684+deftest_match(self):

1685+1686+deffunc(v=1):

1687+x=0

1688+forvinrange(4):

1689+matchv:

1690+case1:

1691+x+=1

1692+case2:

1693+x+=2

1694+case _:

1695+x+=3

1696+returnx

1697+1698+self.check_events(func, recorders=BRANCHES_RECORDERS, expected= [

1699+ ('branch left', 'func', 2, 2),

1700+ ('branch right', 'func', 4, 6),

1701+ ('branch right', 'func', 6, 8),

1702+ ('branch left', 'func', 2, 2),

1703+ ('branch left', 'func', 4, 5),

1704+ ('branch left', 'func', 2, 2),

1705+ ('branch right', 'func', 4, 6),

1706+ ('branch left', 'func', 6, 7),

1707+ ('branch left', 'func', 2, 2),

1708+ ('branch right', 'func', 4, 6),

1709+ ('branch right', 'func', 6, 8),

1710+ ('branch right', 'func', 2, 10)])

1711+1712+16841713classTestBranchConsistency(MonitoringTestBase, unittest.TestCase):

1685171416861715defcheck_branches(self, run_func, test_func=None, tool=TEST_TOOL, recorders=BRANCH_OFFSET_RECORDERS):