@@ -1133,8 +1133,8 @@ def test_core_default(self) -> None:
11331133 self .make_file ("numbers.py" , "print(123, 456)" )
11341134 out = self .run_command ("coverage run --debug=sys numbers.py" )
11351135 assert out .endswith ("123 456\n " )
1136- warns = re_lines (r"\(no-ctracer\)" , out )
11371136 core = re_line (r" core:" , out ).strip ()
1137+ warns = re_lines (r"\(no-ctracer\)" , out )
11381138 if env .SYSMON_DEFAULT :
11391139 assert core == "core: SysMonitor"
11401140 assert not warns
@@ -1154,6 +1154,18 @@ def test_core_request_ctrace(self) -> None:
11541154 core = re_line (r" core:" , out ).strip ()
11551155 assert core == "core: CTracer"
11561156
1157+ @pytest .mark .skipif (has_ctracer , reason = "CTracer needs to be missing" )
1158+ def test_core_request_ctrace_but_missing (self ) -> None :
1159+ self .del_environ ("COVERAGE_CORE" )
1160+ self .make_file (".coveragerc" , "[run]\n core = ctrace\n " )
1161+ self .make_file ("numbers.py" , "print(123, 456)" )
1162+ out = self .run_command ("coverage run --debug=sys,pybehave numbers.py" )
1163+ assert out .endswith ("123 456\n " )
1164+ core = re_line (r" core:" , out ).strip ()
1165+ assert core == "core: PyTracer"
1166+ warns = re_lines (r"\(no-ctracer\)" , out )
1167+ assert bool (warns ) == env .SHIPPING_WHEELS
1168+
11571169 def test_core_request_pytrace (self ) -> None :
11581170 self .set_environ ("COVERAGE_CORE" , "pytrace" )
11591171 self .make_file ("numbers.py" , "print(123, 456)" )
0 commit comments