summaryrefslogtreecommitdiff
path: root/coverage
diff options
context:
space:
mode:
Diffstat (limited to 'coverage')
-rw-r--r--coverage/config.py3
-rw-r--r--coverage/control.py38
2 files changed, 29 insertions, 12 deletions
diff --git a/coverage/config.py b/coverage/config.py
index f65115f8..e90fc15c 100644
--- a/coverage/config.py
+++ b/coverage/config.py
@@ -21,6 +21,7 @@ class CoverageConfig(object):
self.exclude_list = ['(?i)# *pragma[: ]*no *cover']
self.data_file = ".coverage"
self.omit_prefixes = None
+ self.ignore_errors = False
def from_environment(self, env_var):
"""Read configuration from the `env_var` environment variable."""
@@ -61,6 +62,8 @@ class CoverageConfig(object):
# exclude_lines is a list of lines, leave out the blank ones.
exclude_list = cp.get('report', 'exclude_lines')
self.exclude_list = list(filter(None, exclude_list.split('\n')))
+ if cp.has_option('report', 'ignore_errors'):
+ self.ignore_errors = cp.getboolean('report', 'ignore_errors')
if cp.has_option('report', 'omit'):
# omit is a list of prefixes, on separate lines, or separated by
# commas.
diff --git a/coverage/control.py b/coverage/control.py
index 78d44ce2..18fc2aa6 100644
--- a/coverage/control.py
+++ b/coverage/control.py
@@ -298,7 +298,7 @@ class coverage(object):
return Analysis(self, it)
- def report(self, morfs=None, show_missing=True, ignore_errors=False,
+ def report(self, morfs=None, show_missing=True, ignore_errors=None,
file=None, omit_prefixes=None): # pylint: disable-msg=W0622
"""Write a summary report to `file`.
@@ -306,13 +306,18 @@ class coverage(object):
statements, missing statements, and a list of lines missed.
"""
- self.config.from_args(omit_prefixes=omit_prefixes)
- reporter = SummaryReporter(self, show_missing, ignore_errors)
+ self.config.from_args(
+ ignore_errors=ignore_errors,
+ omit_prefixes=omit_prefixes
+ )
+ reporter = SummaryReporter(
+ self, show_missing, self.config.ignore_errors
+ )
reporter.report(
morfs, outfile=file, omit_prefixes=self.config.omit_prefixes
)
- def annotate(self, morfs=None, directory=None, ignore_errors=False,
+ def annotate(self, morfs=None, directory=None, ignore_errors=None,
omit_prefixes=None):
"""Annotate a list of modules.
@@ -322,36 +327,45 @@ class coverage(object):
excluded lines have "-", and missing lines have "!".
"""
- self.config.from_args(omit_prefixes=omit_prefixes)
- reporter = AnnotateReporter(self, ignore_errors)
+ self.config.from_args(
+ ignore_errors=ignore_errors,
+ omit_prefixes=omit_prefixes
+ )
+ reporter = AnnotateReporter(self, self.config.ignore_errors)
reporter.report(
morfs, directory=directory, omit_prefixes=self.config.omit_prefixes
)
- def html_report(self, morfs=None, directory=None, ignore_errors=False,
+ def html_report(self, morfs=None, directory=None, ignore_errors=None,
omit_prefixes=None):
"""Generate an HTML report.
"""
- self.config.from_args(omit_prefixes=omit_prefixes)
- reporter = HtmlReporter(self, ignore_errors)
+ self.config.from_args(
+ ignore_errors=ignore_errors,
+ omit_prefixes=omit_prefixes
+ )
+ reporter = HtmlReporter(self, self.config.ignore_errors)
reporter.report(
morfs, directory=directory,
omit_prefixes=self.config.omit_prefixes
)
- def xml_report(self, morfs=None, outfile=None, ignore_errors=False,
+ def xml_report(self, morfs=None, outfile=None, ignore_errors=None,
omit_prefixes=None):
"""Generate an XML report of coverage results.
The report is compatible with Cobertura reports.
"""
- self.config.from_args(omit_prefixes=omit_prefixes)
+ self.config.from_args(
+ ignore_errors=ignore_errors,
+ omit_prefixes=omit_prefixes
+ )
if outfile:
outfile = open(outfile, "w")
try:
- reporter = XmlReporter(self, ignore_errors)
+ reporter = XmlReporter(self, self.config.ignore_errors)
reporter.report(
morfs, omit_prefixes=self.config.omit_prefixes, outfile=outfile
)