@@ -1133,8 +1133,8 @@ def test_core_default(self) -> None:
1133
1133
self .make_file ("numbers.py" , "print(123, 456)" )
1134
1134
out = self .run_command ("coverage run --debug=sys numbers.py" )
1135
1135
assert out .endswith ("123 456\n " )
1136
- warns = re_lines (r"\(no-ctracer\)" , out )
1137
1136
core = re_line (r" core:" , out ).strip ()
1137
+ warns = re_lines (r"\(no-ctracer\)" , out )
1138
1138
if env .SYSMON_DEFAULT :
1139
1139
assert core == "core: SysMonitor"
1140
1140
assert not warns
@@ -1154,6 +1154,18 @@ def test_core_request_ctrace(self) -> None:
1154
1154
core = re_line (r" core:" , out ).strip ()
1155
1155
assert core == "core: CTracer"
1156
1156
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
+
1157
1169
def test_core_request_pytrace (self ) -> None :
1158
1170
self .set_environ ("COVERAGE_CORE" , "pytrace" )
1159
1171
self .make_file ("numbers.py" , "print(123, 456)" )
0 commit comments