summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2018-08-30 14:33:04 -0400
committerNed Batchelder <ned@nedbatchelder.com>2018-08-30 16:46:17 -0400
commita9bce6d2be9d51d0a449411cf4325a965140ce0c (patch)
tree85b318b23462e7e0852f0969d590115f164d1c7a
parentb764393571dbb84996f26b7f52cb02599b44b5a9 (diff)
downloadpython-coveragepy-git-a9bce6d2be9d51d0a449411cf4325a965140ce0c.tar.gz
Put back an always-on indication of the tracer available
-rw-r--r--coverage/control.py3
-rw-r--r--tests/test_debug.py15
2 files changed, 15 insertions, 3 deletions
diff --git a/coverage/control.py b/coverage/control.py
index 580fc9da..c4022f1f 100644
--- a/coverage/control.py
+++ b/coverage/control.py
@@ -13,7 +13,7 @@ import time
from coverage import env
from coverage.annotate import AnnotateReporter
from coverage.backward import string_class, iitems
-from coverage.collector import Collector
+from coverage.collector import Collector, CTracer
from coverage.config import read_coverage_config
from coverage.data import CoverageData, combine_parallel_data
from coverage.debug import DebugControl, write_formatted_info
@@ -836,6 +836,7 @@ class Coverage(object):
('version', covmod.__version__),
('coverage', covmod.__file__),
('tracer', self._collector.tracer_name() if self._collector else "-none-"),
+ ('CTracer', 'available' if CTracer else "unavailable"),
('plugins.file_tracers', plugin_info(self._plugins.file_tracers)),
('plugins.configurers', plugin_info(self._plugins.configurers)),
('configs_attempted', self.config.attempted_config_files),
diff --git a/tests/test_debug.py b/tests/test_debug.py
index 26ddc0df..284d9567 100644
--- a/tests/test_debug.py
+++ b/tests/test_debug.py
@@ -10,9 +10,10 @@ import pytest
import coverage
from coverage.backward import StringIO
from coverage.debug import filter_text, info_formatter, info_header, short_id, short_stack
+from coverage.env import C_TRACER
from tests.coveragetest import CoverageTest
-from tests.helpers import re_lines
+from tests.helpers import re_line, re_lines
class InfoFormatterTest(CoverageTest):
@@ -160,7 +161,8 @@ class DebugTraceTest(CoverageTest):
label_pat = r"^\s*%s: " % label
self.assertEqual(
len(re_lines(out_lines, label_pat).splitlines()),
- 1
+ 1,
+ msg="Incorrect lines for %r" % label,
)
def test_debug_sys(self):
@@ -179,6 +181,15 @@ class DebugTraceTest(CoverageTest):
msg="Incorrect lines for %r" % label,
)
+ def test_debug_sys_ctracer(self):
+ out_lines = self.f1_debug_output(["sys"])
+ tracer_line = re_line(out_lines, r"CTracer:").strip()
+ if C_TRACER:
+ expected = "CTracer: available"
+ else:
+ expected = "CTracer: unavailable"
+ self.assertEqual(tracer_line, expected)
+
def f_one(*args, **kwargs):
"""First of the chain of functions for testing `short_stack`."""