From 1810d5e6e911cb3dbb3e971f2cc2a081134c6ee2 Mon Sep 17 00:00:00 2001 From: Ned Batchelder Date: Wed, 9 Sep 2009 08:31:57 -0400 Subject: Start using Mock to test the command-line code. --- coverage/cmdline.py | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'coverage') diff --git a/coverage/cmdline.py b/coverage/cmdline.py index b353efa1..90a5a45e 100644 --- a/coverage/cmdline.py +++ b/coverage/cmdline.py @@ -57,9 +57,17 @@ COVERAGE_FILE environment variable to save it somewhere else. class CoverageScript: """The command-line interface to Coverage.""" - def __init__(self): - import coverage - self.covpkg = coverage + def __init__(self, _covpkg=None, _run_python_file=None): + # _covpkg is for dependency injection, so we can test this code. + if _covpkg: + self.covpkg = _covpkg + else: + import coverage + self.covpkg = coverage + + # _run_python_file is for dependency injection also. + self.run_python_file = _run_python_file or run_python_file + self.coverage = None def help(self, error=None): @@ -160,7 +168,7 @@ class CoverageScript: # Run the script. self.coverage.start() try: - run_python_file(args[0], args) + self.run_python_file(args[0], args) finally: self.coverage.stop() self.coverage.save() -- cgit v1.2.1