(self, run_func, test_func=None, tool=TEST_TOOL, recorders=BRANCH_OFFSET_RECORDERS)
| 1765 | class 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 |
no test coverage detected