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
commitf06e02ebdcea3c5c585b784c568b99ea949cba90 (patch)
tree440bfbdc207ea12139e5e8f959481cf7f5ca4447 /coverage/cmdline.py
parent10f4e01ba81a1d840e43b5888a4d293e6059e1b9 (diff)
downloadpython-coveragepy-git-f06e02ebdcea3c5c585b784c568b99ea949cba90.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 0a84aa1d..b2ffdf75 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