summaryrefslogtreecommitdiff
path: root/coverage/cmdline.py
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2018-11-21 08:11:58 -0500
committerNed Batchelder <ned@nedbatchelder.com>2018-11-25 14:34:14 -0500
commit41547862ba4a9a948023ade66e41d9f43d9d84c2 (patch)
treec042167c5999dc05b70cee3bc992b12c45c78539 /coverage/cmdline.py
parent8e3a8d49d81b6e0cf5e4dea7942df8654b3bb2b4 (diff)
downloadpython-coveragepy-git-41547862ba4a9a948023ade66e41d9f43d9d84c2.tar.gz
Use implicit mock patching instead of explicit DI for cmdline tests
This sets us up for mocking more or different globals without adding more explicit DI overrides in cmdline.py.
Diffstat (limited to 'coverage/cmdline.py')
-rw-r--r--coverage/cmdline.py24
1 files changed, 7 insertions, 17 deletions
diff --git a/coverage/cmdline.py b/coverage/cmdline.py
index e41a0597..be258b5e 100644
--- a/coverage/cmdline.py
+++ b/coverage/cmdline.py
@@ -13,6 +13,8 @@ import sys
import textwrap
import traceback
+import coverage
+from coverage import Coverage
from coverage import env
from coverage.collector import CTracer
from coverage.data import line_counts
@@ -398,20 +400,8 @@ OK, ERR, FAIL_UNDER = 0, 1, 2
class CoverageScript(object):
"""The command-line interface to coverage.py."""
- def __init__(
- self, _covpkg=None, _run_python_file=None,
- _run_python_module=None, _help_fn=None,
- ):
- # _covpkg is for dependency injection, so we can test this code.
- if _covpkg:
- self.covpkg = _covpkg
- else:
- import coverage
- self.covpkg = coverage
-
+ def __init__(self, _help_fn=None):
# For dependency injection:
- self.run_python_file = _run_python_file or run_python_file
- self.run_python_module = _run_python_module or run_python_module
self.help_fn = _help_fn or self.help
self.global_option = False
@@ -473,7 +463,7 @@ class CoverageScript(object):
debug = unshell_list(options.debug)
# Do something.
- self.coverage = self.covpkg.Coverage(
+ self.coverage = Coverage(
data_suffix=options.parallel_mode,
cover_pylib=options.pylib,
timid=options.timid,
@@ -553,7 +543,7 @@ class CoverageScript(object):
"""Display an error message, or the named topic."""
assert error or topic or parser
- help_params = dict(self.covpkg.__dict__)
+ help_params = dict(coverage.__dict__)
help_params['program_name'] = self.program_name
if CTracer is not None:
help_params['extension_modifier'] = 'with C extension'
@@ -651,9 +641,9 @@ class CoverageScript(object):
code_ran = True
try:
if options.module:
- self.run_python_module(args[0], args)
+ run_python_module(args[0], args)
else:
- self.run_python_file(args[0], args)
+ run_python_file(args[0], args)
except NoSource:
code_ran = False
raise