diff options
author | Ned Batchelder <ned@nedbatchelder.com> | 2016-03-28 09:34:28 -0400 |
---|---|---|
committer | Ned Batchelder <ned@nedbatchelder.com> | 2016-03-28 09:34:28 -0400 |
commit | 331ffd0fe89865702ee001c3651f06b52caf76e0 (patch) | |
tree | 5d6939ef8c04d2205d7d2efeff7fa6731456d671 | |
parent | db1a8306331000b881a7ce9e8103f76d8e060d89 (diff) | |
download | python-coveragepy-git-331ffd0fe89865702ee001c3651f06b52caf76e0.tar.gz |
Show the tracer class in help output. #479
-rw-r--r-- | CHANGES.rst | 4 | ||||
-rw-r--r-- | coverage/__init__.py | 4 | ||||
-rw-r--r-- | coverage/cmdline.py | 16 | ||||
-rw-r--r-- | tests/test_cmdline.py | 5 |
4 files changed, 21 insertions, 8 deletions
diff --git a/CHANGES.rst b/CHANGES.rst index 0d912b98..2167a534 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -30,9 +30,13 @@ Unreleased indents was fixed. The index page also has slightly different styling, to try to make the clickable detail pages more apparent. +- ``coverage --help`` and ``coverage --version`` now mention which tracer is + installed, to help diagnose problems (`issue 479`_). + .. _issue 440: https://bitbucket.org/ned/coveragepy/issues/440/yielded-twisted-failure-marked-as-missed .. _issue 472: https://bitbucket.org/ned/coveragepy/issues/472/html-report-indents-incorrectly-for-one .. _issue 475: https://bitbucket.org/ned/coveragepy/issues/475/generator-expression-is-marked-as-not +.. _issue 479: https://bitbucket.org/ned/coveragepy/issues/479/clarify-the-need-for-the-c-extension Version 4.1b2 --- 2016-01-23 diff --git a/coverage/__init__.py b/coverage/__init__.py index d132e4a7..8085b2f0 100644 --- a/coverage/__init__.py +++ b/coverage/__init__.py @@ -10,10 +10,14 @@ http://nedbatchelder.com/code/coverage from coverage.version import __version__, __url__, version_info +from coverage.collector import CTracer from coverage.control import Coverage, process_startup from coverage.data import CoverageData from coverage.misc import CoverageException from coverage.plugin import CoveragePlugin, FileTracer, FileReporter +from coverage.pytracer import PyTracer + +tracer_class = CTracer or PyTracer # Backward compatibility. coverage = Coverage diff --git a/coverage/cmdline.py b/coverage/cmdline.py index 38f4b43a..9e6b088f 100644 --- a/coverage/cmdline.py +++ b/coverage/cmdline.py @@ -549,7 +549,7 @@ class CoverageScript(object): help_params['program_name'] = self.program_name help_msg = textwrap.dedent(HELP_TOPICS.get(topic, '')).strip() if help_msg: - print(help_msg % help_params) + print(help_msg.format(**help_params)) else: print("Don't know topic %r" % topic) @@ -699,10 +699,10 @@ def unglob_args(args): HELP_TOPICS = { 'help': """\ - Coverage.py, version %(__version__)s + Coverage.py, version {__version__} with {tracer_class.__name__} Measure, collect, and report on code coverage in Python programs. - usage: %(program_name)s <command> [options] [args] + usage: {program_name} <command> [options] [args] Commands: annotate Annotate source files with execution information. @@ -714,17 +714,17 @@ HELP_TOPICS = { run Run a Python program and measure code execution. xml Create an XML report of coverage results. - Use "%(program_name)s help <command>" for detailed help on any command. - For full documentation, see %(__url__)s + Use "{program_name} help <command>" for detailed help on any command. + For full documentation, see {__url__} """, 'minimum_help': """\ - Code coverage for Python. Use '%(program_name)s help' for help. + Code coverage for Python. Use '{program_name} help' for help. """, 'version': """\ - Coverage.py, version %(__version__)s. - Documentation at %(__url__)s + Coverage.py, version {__version__} with {tracer_class.__name__} + Documentation at {__url__} """, } diff --git a/tests/test_cmdline.py b/tests/test_cmdline.py index c78e3468..ebda68c3 100644 --- a/tests/test_cmdline.py +++ b/tests/test_cmdline.py @@ -13,6 +13,7 @@ import mock import coverage import coverage.cmdline +from coverage import env from coverage.config import CoverageConfig from coverage.data import CoverageData, CoverageDataFiles from coverage.misc import ExceptionDuringRun @@ -599,6 +600,10 @@ class CmdLineStdoutTest(BaseCmdLineTest): self.command_line("--version") out = self.stdout() self.assertIn("ersion ", out) + if env.C_TRACER: + self.assertIn("with CTracer", out) + else: + self.assertIn("with PyTracer", out) self.assertLess(out.count("\n"), 4) def test_help(self): |