summaryrefslogtreecommitdiff
path: root/coverage/cmdline.py
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2015-08-03 21:25:02 -0400
committerNed Batchelder <ned@nedbatchelder.com>2015-08-03 21:25:02 -0400
commitf1491bdf248bc8bd073a1ae061757d7bfd787e79 (patch)
treeec00b77d21ec3030b04abb44ecc3d08b0513703e /coverage/cmdline.py
parent17cc353d4359b2481fc9e6234c1fc5e8ba42a4ae (diff)
downloadpython-coveragepy-f1491bdf248bc8bd073a1ae061757d7bfd787e79.tar.gz
Fix --append trying to make a new file. #392
Diffstat (limited to 'coverage/cmdline.py')
-rw-r--r--coverage/cmdline.py9
1 files changed, 6 insertions, 3 deletions
diff --git a/coverage/cmdline.py b/coverage/cmdline.py
index 0a84aa1..b2ffdf7 100644
--- a/coverage/cmdline.py
+++ b/coverage/cmdline.py
@@ -5,6 +5,7 @@
import glob
import optparse
+import os.path
import sys
import traceback
@@ -344,7 +345,7 @@ 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):
+ _run_python_module=None, _help_fn=None, _path_exists=None):
# _covpkg is for dependency injection, so we can test this code.
if _covpkg:
self.covpkg = _covpkg
@@ -356,6 +357,7 @@ class CoverageScript(object):
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.path_exists = _path_exists or os.path.exists
self.global_option = False
self.coverage = None
@@ -575,8 +577,9 @@ class CoverageScript(object):
self.coverage.stop()
if code_ran:
if options.append:
- data_paths = [self.coverage.get_option("run:data_file")]
- self.coverage.combine(data_paths=data_paths)
+ data_file = self.coverage.get_option("run:data_file")
+ if self.path_exists(data_file):
+ self.coverage.combine(data_paths=[data_file])
self.coverage.save()
return OK