summaryrefslogtreecommitdiff
path: root/coverage
diff options
context:
space:
mode:
Diffstat (limited to 'coverage')
-rw-r--r--coverage/control.py6
-rw-r--r--coverage/data.py8
-rw-r--r--coverage/misc.py14
3 files changed, 18 insertions, 10 deletions
diff --git a/coverage/control.py b/coverage/control.py
index 0588e68e..7d04cd88 100644
--- a/coverage/control.py
+++ b/coverage/control.py
@@ -12,6 +12,7 @@ from coverage.files import FileLocator, TreeMatcher, FnmatchMatcher
from coverage.files import PathAliases, find_python_files, prep_patterns
from coverage.html import HtmlReporter
from coverage.misc import CoverageException, bool_or_none, join_regex
+from coverage.misc import file_be_gone
from coverage.results import Analysis, Numbers
from coverage.summary import SummaryReporter
from coverage.xmlreport import XmlReporter
@@ -624,10 +625,7 @@ class coverage(object):
if file_to_close:
file_to_close.close()
if delete_file:
- try:
- os.remove(self.config.xml_output)
- except Exception:
- pass
+ file_be_gone(self.config.xml_output)
def sysinfo(self):
"""Return a list of (key, value) pairs showing internal information."""
diff --git a/coverage/data.py b/coverage/data.py
index b7a08420..6d4528b3 100644
--- a/coverage/data.py
+++ b/coverage/data.py
@@ -1,10 +1,10 @@
"""Coverage data for Coverage."""
import os
-import errno
from coverage.backward import pickle, sorted # pylint: disable=W0622
from coverage.files import PathAliases
+from coverage.misc import file_be_gone
class CoverageData(object):
@@ -91,11 +91,7 @@ class CoverageData(object):
"""Erase the data, both in this object, and from its file storage."""
if self.use_file:
if self.filename:
- try:
- os.remove(self.filename)
- except OSError as e:
- if e.errno != errno.ENOENT:
- raise
+ file_be_gone(self.filename)
self.lines = {}
self.arcs = {}
diff --git a/coverage/misc.py b/coverage/misc.py
index fd9be857..3ed854a7 100644
--- a/coverage/misc.py
+++ b/coverage/misc.py
@@ -1,6 +1,10 @@
"""Miscellaneous stuff for Coverage."""
+import errno
import inspect
+import os
+import sys
+
from coverage.backward import md5, sorted # pylint: disable=W0622
from coverage.backward import string_class, to_bytes
@@ -83,6 +87,16 @@ def join_regex(regexes):
return ""
+def file_be_gone(path):
+ """Remove a file, and don't get annoyed if it doesn't exist."""
+ try:
+ os.remove(path)
+ except OSError:
+ _, e, _ = sys.exc_info()
+ if e.errno != errno.ENOENT:
+ raise
+
+
class Hasher(object):
"""Hashes Python data into md5."""
def __init__(self):