|
26 | 26 | import coverage |
27 | 27 | from coverage import env |
28 | 28 | from coverage.data import line_counts |
29 | | -from coverage.exceptions import ConfigError |
30 | 29 | from coverage.files import abs_file, python_reported_file |
31 | 30 |
|
32 | 31 | from tests import testenv |
33 | 32 | from tests.coveragetest import CoverageTest, TESTS_DIR |
34 | | -from tests.helpers import change_dir, re_line, re_lines, re_lines_text |
| 33 | +from tests.helpers import change_dir, re_lines, re_lines_text |
35 | 34 |
|
36 | 35 |
|
37 | 36 | class ProcessTest(CoverageTest): |
@@ -1316,141 +1315,6 @@ def test_report_99p9_is_not_ok(self) -> None: |
1316 | 1315 | assert expected == self.last_line_squeezed(out) |
1317 | 1316 |
|
1318 | 1317 |
|
1319 | | -class CoverageCoreTest(CoverageTest): |
1320 | | - """Test that cores are chosen correctly.""" |
1321 | | - |
1322 | | - # This doesn't test failure modes, only successful requests. |
1323 | | - try: |
1324 | | - from coverage.tracer import CTracer |
1325 | | - |
1326 | | - has_ctracer = True |
1327 | | - except ImportError: |
1328 | | - has_ctracer = False |
1329 | | - |
1330 | | - def setUp(self) -> None: |
1331 | | - super().setUp() |
1332 | | - # Clean out the environment variable the test suite uses to control the |
1333 | | - # core it cares about. |
1334 | | - self.del_environ("COVERAGE_CORE") |
1335 | | - self.make_file("numbers.py", "print(123, 456)") |
1336 | | - |
1337 | | - def test_core_default(self) -> None: |
1338 | | - out = self.run_command("coverage run --debug=sys numbers.py") |
1339 | | - assert out.endswith("123 456\n") |
1340 | | - core = re_line(r" core:", out).strip() |
1341 | | - warns = re_lines(r"\(no-ctracer\)", out) |
1342 | | - if env.SYSMON_DEFAULT: |
1343 | | - assert core == "core: SysMonitor" |
1344 | | - assert not warns |
1345 | | - elif self.has_ctracer: |
1346 | | - assert core == "core: CTracer" |
1347 | | - assert not warns |
1348 | | - else: |
1349 | | - assert core == "core: PyTracer" |
1350 | | - assert bool(warns) == env.CPYTHON |
1351 | | - |
1352 | | - @pytest.mark.skipif(not has_ctracer, reason="No CTracer to request") |
1353 | | - def test_core_request_ctrace(self) -> None: |
1354 | | - self.set_environ("COVERAGE_CORE", "ctrace") |
1355 | | - out = self.run_command("coverage run --debug=sys numbers.py") |
1356 | | - assert out.endswith("123 456\n") |
1357 | | - core = re_line(r" core:", out).strip() |
1358 | | - assert core == "core: CTracer" |
1359 | | - |
1360 | | - @pytest.mark.skipif(has_ctracer, reason="CTracer needs to be missing") |
1361 | | - def test_core_request_ctrace_but_missing(self) -> None: |
1362 | | - self.make_file(".coveragerc", "[run]\ncore = ctrace\n") |
1363 | | - out = self.run_command("coverage run --debug=sys,pybehave numbers.py") |
1364 | | - assert out.endswith("123 456\n") |
1365 | | - core = re_line(r" core:", out).strip() |
1366 | | - assert core == "core: PyTracer" |
1367 | | - warns = re_lines(r"\(no-ctracer\)", out) |
1368 | | - assert bool(warns) == env.SHIPPING_WHEELS |
1369 | | - |
1370 | | - def test_core_request_pytrace(self) -> None: |
1371 | | - self.set_environ("COVERAGE_CORE", "pytrace") |
1372 | | - out = self.run_command("coverage run --debug=sys numbers.py") |
1373 | | - assert out.endswith("123 456\n") |
1374 | | - core = re_line(r" core:", out).strip() |
1375 | | - assert core == "core: PyTracer" |
1376 | | - |
1377 | | - def test_core_request_sysmon(self) -> None: |
1378 | | - self.set_environ("COVERAGE_CORE", "sysmon") |
1379 | | - out = self.run_command("coverage run --debug=sys numbers.py") |
1380 | | - assert out.endswith("123 456\n") |
1381 | | - core = re_line(r" core:", out).strip() |
1382 | | - warns = re_lines(r"\(no-sysmon\)", out) |
1383 | | - if env.PYBEHAVIOR.pep669: |
1384 | | - assert core == "core: SysMonitor" |
1385 | | - assert not warns |
1386 | | - else: |
1387 | | - assert core in ["core: CTracer", "core: PyTracer"] |
1388 | | - assert warns |
1389 | | - |
1390 | | - def test_core_request_sysmon_no_dyncontext(self) -> None: |
1391 | | - # Use config core= for this test just to be different. |
1392 | | - self.make_file( |
1393 | | - ".coveragerc", |
1394 | | - """\ |
1395 | | - [run] |
1396 | | - core = sysmon |
1397 | | - dynamic_context = test_function |
1398 | | - """, |
1399 | | - ) |
1400 | | - out = self.run_command("coverage run --debug=sys numbers.py") |
1401 | | - assert out.endswith("123 456\n") |
1402 | | - core = re_line(r" core:", out).strip() |
1403 | | - assert core in ["core: CTracer", "core: PyTracer"] |
1404 | | - warns = re_lines(r"\(no-sysmon\)", out) |
1405 | | - assert len(warns) == 1 |
1406 | | - if env.PYBEHAVIOR.pep669: |
1407 | | - assert ( |
1408 | | - "sys.monitoring doesn't yet support dynamic contexts, using default core" |
1409 | | - in warns[0] |
1410 | | - ) |
1411 | | - else: |
1412 | | - assert "sys.monitoring isn't available in this version, using default core" in warns[0] |
1413 | | - |
1414 | | - def test_core_request_sysmon_no_branches(self) -> None: |
1415 | | - # Use config core= for this test just to be different. |
1416 | | - self.make_file( |
1417 | | - ".coveragerc", |
1418 | | - """\ |
1419 | | - [run] |
1420 | | - core = sysmon |
1421 | | - branch = True |
1422 | | - """, |
1423 | | - ) |
1424 | | - out = self.run_command("coverage run --debug=sys numbers.py") |
1425 | | - assert out.endswith("123 456\n") |
1426 | | - core = re_line(r" core:", out).strip() |
1427 | | - warns = re_lines(r"\(no-sysmon\)", out) |
1428 | | - if env.PYBEHAVIOR.branch_right_left: |
1429 | | - assert core == "core: SysMonitor" |
1430 | | - assert not warns |
1431 | | - else: |
1432 | | - assert core in ["core: CTracer", "core: PyTracer"] |
1433 | | - assert len(warns) == 1 |
1434 | | - if env.PYBEHAVIOR.pep669: |
1435 | | - assert ( |
1436 | | - "sys.monitoring can't measure branches in this version, using default core" |
1437 | | - in warns[0] |
1438 | | - ) |
1439 | | - else: |
1440 | | - assert ( |
1441 | | - "sys.monitoring isn't available in this version, using default core" in warns[0] |
1442 | | - ) |
1443 | | - |
1444 | | - def test_core_request_nosuchcore(self) -> None: |
1445 | | - # Test the coverage misconfigurations in-process with pytest. Running a |
1446 | | - # subprocess doesn't capture the metacov in the subprocess because |
1447 | | - # coverage is misconfigured. |
1448 | | - self.set_environ("COVERAGE_CORE", "nosuchcore") |
1449 | | - cov = coverage.Coverage() |
1450 | | - with pytest.raises(ConfigError, match=r"Unknown core value: 'nosuchcore'"): |
1451 | | - self.start_import_stop(cov, "numbers") |
1452 | | - |
1453 | | - |
1454 | 1318 | class FailUnderNoFilesTest(CoverageTest): |
1455 | 1319 | """Test that nothing to report results in an error exit status.""" |
1456 | 1320 |
|
|
0 commit comments