diff options
author | John Szakmeister <john@szakmeister.net> | 2014-02-13 05:35:19 -0500 |
---|---|---|
committer | John Szakmeister <john@szakmeister.net> | 2014-02-13 05:37:36 -0500 |
commit | 5982c064d60a384894d9ba66277979b73359e9ec (patch) | |
tree | ba0eac2bd85ac707092ddb8c0e823aedfcaf16f6 /nose/plugins | |
parent | 06f09f8c3f37db37d46f65872cca190ae33a441e (diff) | |
download | nose-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.
Diffstat (limited to 'nose/plugins')
-rw-r--r-- | nose/plugins/cover.py | 13 |
1 files changed, 11 insertions, 2 deletions
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: |