@@ -35,6 +35,9 @@ def g1():
35
35
TEST_TOOL2 = 3
36
36
TEST_TOOL3 = 4
37
37
38
+ def nth_line (func , offset ):
39
+ return func .__code__ .co_firstlineno + offset
40
+
38
41
class MonitoringBasicTest (unittest .TestCase ):
39
42
40
43
def test_has_objects (self ):
@@ -529,8 +532,8 @@ def test_lines_single(self):
529
532
f1 ()
530
533
sys .monitoring .set_events (TEST_TOOL , 0 )
531
534
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 ])
534
537
finally :
535
538
sys .monitoring .set_events (TEST_TOOL , 0 )
536
539
sys .monitoring .register_callback (TEST_TOOL , E .LINE , None )
@@ -547,8 +550,13 @@ def test_lines_loop(self):
547
550
floop ()
548
551
sys .monitoring .set_events (TEST_TOOL , 0 )
549
552
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
+ )
552
560
finally :
553
561
sys .monitoring .set_events (TEST_TOOL , 0 )
554
562
sys .monitoring .register_callback (TEST_TOOL , E .LINE , None )
@@ -569,8 +577,8 @@ def test_lines_two(self):
569
577
sys .monitoring .set_events (TEST_TOOL , 0 ); sys .monitoring .set_events (TEST_TOOL2 , 0 )
570
578
sys .monitoring .register_callback (TEST_TOOL , E .LINE , None )
571
579
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 ]
574
582
self .assertEqual (events , expected )
575
583
self .assertEqual (events2 , expected )
576
584
finally :
0 commit comments