@@ -35,6 +35,9 @@ def g1():
3535TEST_TOOL2 = 3
3636TEST_TOOL3 = 4
3737
38+ def nth_line (func , offset ):
39+ return func .__code__ .co_firstlineno + offset
40+
3841class MonitoringBasicTest (unittest .TestCase ):
3942
4043 def test_has_objects (self ):
@@ -529,8 +532,8 @@ def test_lines_single(self):
529532 f1 ()
530533 sys .monitoring .set_events (TEST_TOOL , 0 )
531534 sys .monitoring .register_callback (TEST_TOOL , E .LINE , None )
532- start = LineMonitoringTest .test_lines_single . __code__ . co_firstlineno
533- self .assertEqual (events , [start + 7 , 16 , start + 8 ])
535+ start = nth_line ( LineMonitoringTest .test_lines_single , 0 )
536+ self .assertEqual (events , [start + 7 , nth_line ( f1 , 1 ) , start + 8 ])
534537 finally :
535538 sys .monitoring .set_events (TEST_TOOL , 0 )
536539 sys .monitoring .register_callback (TEST_TOOL , E .LINE , None )
@@ -547,8 +550,13 @@ def test_lines_loop(self):
547550 floop ()
548551 sys .monitoring .set_events (TEST_TOOL , 0 )
549552 sys .monitoring .register_callback (TEST_TOOL , E .LINE , None )
550- start = LineMonitoringTest .test_lines_loop .__code__ .co_firstlineno
551- self .assertEqual (events , [start + 7 , 23 , 24 , 23 , 24 , 23 , start + 8 ])
553+ start = nth_line (LineMonitoringTest .test_lines_loop , 0 )
554+ floop_1 = nth_line (floop , 1 )
555+ floop_2 = nth_line (floop , 2 )
556+ self .assertEqual (
557+ events ,
558+ [start + 7 , floop_1 , floop_2 , floop_1 , floop_2 , floop_1 , start + 8 ]
559+ )
552560 finally :
553561 sys .monitoring .set_events (TEST_TOOL , 0 )
554562 sys .monitoring .register_callback (TEST_TOOL , E .LINE , None )
@@ -569,8 +577,8 @@ def test_lines_two(self):
569577 sys .monitoring .set_events (TEST_TOOL , 0 ); sys .monitoring .set_events (TEST_TOOL2 , 0 )
570578 sys .monitoring .register_callback (TEST_TOOL , E .LINE , None )
571579 sys .monitoring .register_callback (TEST_TOOL2 , E .LINE , None )
572- start = LineMonitoringTest .test_lines_two . __code__ . co_firstlineno
573- expected = [start + 10 , 16 , start + 11 ]
580+ start = nth_line ( LineMonitoringTest .test_lines_two , 0 )
581+ expected = [start + 10 , nth_line ( f1 , 1 ) , start + 11 ]
574582 self .assertEqual (events , expected )
575583 self .assertEqual (events2 , expected )
576584 finally :
0 commit comments