diff options
Diffstat (limited to 'coverage')
-rw-r--r-- | coverage/control.py | 6 | ||||
-rw-r--r-- | coverage/data.py | 8 | ||||
-rw-r--r-- | coverage/misc.py | 14 |
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): |