@@ -75,16 +75,19 @@ def test_core_request_pytrace(self) -> None:
7575
7676    def  test_core_request_sysmon (self ) ->  None :
7777        self .set_environ ("COVERAGE_CORE" , "sysmon" )
78-         out  =  self .run_command ("coverage run --debug=sys numbers.py" )
79-         assert  out .endswith ("123 456\n " )
80-         core  =  re_line (r" core:" , out ).strip ()
81-         warns  =  re_lines (r"\(no-sysmon\)" , out )
8278        if  env .PYBEHAVIOR .pep669 :
79+             status  =  0 
80+         else :
81+             status  =  1 
82+         out  =  self .run_command ("coverage run --debug=sys numbers.py" , status = status )
83+         if  status  ==  0 :
84+             assert  out .endswith ("123 456\n " )
85+             core  =  re_line (r" core:" , out ).strip ()
86+             warns  =  re_lines (r"\(no-sysmon\)" , out )
8387            assert  core  ==  "core: SysMonitor" 
8488            assert  not  warns 
8589        else :
86-             assert  core  in  ["core: CTracer" , "core: PyTracer" ]
87-             assert  warns 
90+             assert  out  ==  "sys.monitoring isn't available in this version, can't use core=sysmon\n " 
8891
8992    def  test_core_request_sysmon_no_dyncontext (self ) ->  None :
9093        # Use config core= for this test just to be different. 
@@ -96,19 +99,14 @@ def test_core_request_sysmon_no_dyncontext(self) -> None:
9699            dynamic_context = test_function 
97100            """ ,
98101        )
99-         out  =  self .run_command ("coverage run --debug=sys numbers.py" )
100-         assert  out .endswith ("123 456\n " )
101-         core  =  re_line (r" core:" , out ).strip ()
102-         assert  core  in  ["core: CTracer" , "core: PyTracer" ]
103-         warns  =  re_lines (r"\(no-sysmon\)" , out )
104-         assert  len (warns ) ==  1 
102+         out  =  self .run_command ("coverage run --debug=sys numbers.py" , status = 1 )
105103        if  env .PYBEHAVIOR .pep669 :
106104            assert  (
107-                 "sys.monitoring doesn't yet support dynamic contexts, using default  core" 
108-                 in  warns [ 0 ] 
105+                 "sys.monitoring doesn't yet support dynamic contexts, can't use  core=sysmon \n " 
106+                 in  out 
109107            )
110108        else :
111-             assert  "sys.monitoring isn't available in this version, using default  core"  in  warns [ 0 ] 
109+             assert  "sys.monitoring isn't available in this version, can't use  core=sysmon \n "  in  out 
112110
113111    def  test_core_request_sysmon_no_branches (self ) ->  None :
114112        # Use config core= for this test just to be different. 
@@ -120,25 +118,23 @@ def test_core_request_sysmon_no_branches(self) -> None:
120118            branch = True 
121119            """ ,
122120        )
123-         out  =  self .run_command ("coverage run --debug=sys numbers.py" )
124-         assert  out .endswith ("123 456\n " )
125-         core  =  re_line (r" core:" , out ).strip ()
126-         warns  =  re_lines (r"\(no-sysmon\)" , out )
127121        if  env .PYBEHAVIOR .branch_right_left :
122+             status  =  0 
123+         elif  env .PYBEHAVIOR .pep669 :
124+             status  =  1 
125+             msg  =  "sys.monitoring can't measure branches in this version, can't use core=sysmon\n " 
126+         else :
127+             status  =  1 
128+             msg  =  "sys.monitoring isn't available in this version, can't use core=sysmon\n " 
129+         out  =  self .run_command ("coverage run --debug=sys numbers.py" , status = status )
130+         if  status  ==  0 :
131+             assert  out .endswith ("123 456\n " )
132+             core  =  re_line (r" core:" , out ).strip ()
133+             warns  =  re_lines (r"\(no-sysmon\)" , out )
128134            assert  core  ==  "core: SysMonitor" 
129135            assert  not  warns 
130136        else :
131-             assert  core  in  ["core: CTracer" , "core: PyTracer" ]
132-             assert  len (warns ) ==  1 
133-             if  env .PYBEHAVIOR .pep669 :
134-                 assert  (
135-                     "sys.monitoring can't measure branches in this version, using default core" 
136-                     in  warns [0 ]
137-                 )
138-             else :
139-                 assert  (
140-                     "sys.monitoring isn't available in this version, using default core"  in  warns [0 ]
141-                 )
137+             assert  out  ==  msg 
142138
143139    def  test_core_request_nosuchcore (self ) ->  None :
144140        # Test the coverage misconfigurations in-process with pytest. Running a 
0 commit comments