summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Szakmeister <john@szakmeister.net>2014-02-13 05:35:19 -0500
committerJohn Szakmeister <john@szakmeister.net>2014-02-13 05:37:36 -0500
commit5982c064d60a384894d9ba66277979b73359e9ec (patch)
treeba0eac2bd85ac707092ddb8c0e823aedfcaf16f6
parent06f09f8c3f37db37d46f65872cca190ae33a441e (diff)
downloadnose-5982c064d60a384894d9ba66277979b73359e9ec.tar.gz
Fix #690: Don't traceback when coverage reports fail.
Under Jython this step fails badly and tanks Nose. Instead, emit a warning about the failure to create the coverage reports, and move on.
-rw-r--r--CHANGELOG2
-rw-r--r--nose/plugins/cover.py13
2 files changed, 13 insertions, 2 deletions
diff --git a/CHANGELOG b/CHANGELOG
index ec09ab9..0c07e9f 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -59,6 +59,8 @@ In Development
Patch by Michael Dunn.
- Fix #743: fix an incorrect regex in writing_tests.rst
Patch by Anne Moroney.
+- Fix #690: Don't traceback when coverage reports fail.
+ Patch by John Szakmeister.
1.3.0
diff --git a/nose/plugins/cover.py b/nose/plugins/cover.py
index 3cd390d..364d252 100644
--- a/nose/plugins/cover.py
+++ b/nose/plugins/cover.py
@@ -170,12 +170,21 @@ class Coverage(Plugin):
if self.wantModuleCoverage(name, module)]
log.debug("Coverage report will cover modules: %s", modules)
self.coverInstance.report(modules, file=stream)
+
+ import coverage
if self.coverHtmlDir:
log.debug("Generating HTML coverage report")
- self.coverInstance.html_report(modules, self.coverHtmlDir)
+ try:
+ self.coverInstance.html_report(modules, self.coverHtmlDir)
+ except coverage.misc.CoverageException, e:
+ log.warning("Failed to generate HTML report: %s" % str(e))
+
if self.coverXmlFile:
log.debug("Generating XML coverage report")
- self.coverInstance.xml_report(modules, self.coverXmlFile)
+ try:
+ self.coverInstance.xml_report(modules, self.coverXmlFile)
+ except coverage.misc.CoverageException, e:
+ log.warning("Failed to generate XML report: %s" % str(e))
# make sure we have minimum required coverage
if self.coverMinPercentage: