MCPcopy Index your code
hub / github.com/RustPython/RustPython / check_branches

Method check_branches

Lib/test/test_monitoring.py:1767–1798  ·  view source on GitHub ↗
(self, run_func, test_func=None, tool=TEST_TOOL, recorders=BRANCH_OFFSET_RECORDERS)

Source from the content-addressed store, hash-verified

1765class TestBranchConsistency(MonitoringTestBase, unittest.TestCase):
1766
1767 def check_branches(self, run_func, test_func=None, tool=TEST_TOOL, recorders=BRANCH_OFFSET_RECORDERS):
1768 if test_func is None:
1769 test_func = run_func
1770 try:
1771 self.assertEqual(sys.monitoring._all_events(), {})
1772 event_list = []
1773 all_events = 0
1774 for recorder in recorders:
1775 ev = recorder.event_type
1776 sys.monitoring.register_callback(tool, ev, recorder(event_list))
1777 all_events |= ev
1778 sys.monitoring.set_local_events(tool, test_func.__code__, all_events)
1779 run_func()
1780 sys.monitoring.set_local_events(tool, test_func.__code__, 0)
1781 for recorder in recorders:
1782 sys.monitoring.register_callback(tool, recorder.event_type, None)
1783 lefts = set()
1784 rights = set()
1785 for (src, left, right) in test_func.__code__.co_branches():
1786 lefts.add((src, left))
1787 rights.add((src, right))
1788 for event in event_list:
1789 way, _, src, dest = event
1790 if "left" in way:
1791 self.assertIn((src, dest), lefts)
1792 else:
1793 self.assertIn("right", way)
1794 self.assertIn((src, dest), rights)
1795 finally:
1796 sys.monitoring.set_local_events(tool, test_func.__code__, 0)
1797 for recorder in recorders:
1798 sys.monitoring.register_callback(tool, recorder.event_type, None)
1799
1800 def test_simple(self):
1801

Callers 4

test_simpleMethod · 0.95
test_except_starMethod · 0.95
test4Method · 0.95
test_async_forMethod · 0.95

Calls 5

setFunction · 0.85
co_branchesMethod · 0.80
assertInMethod · 0.80
assertEqualMethod · 0.45
addMethod · 0.45

Tested by

no test coverage detected