From: Dmitry Shachnev <mitya57@gmail.com>
Date: Wed, 29 Jun 2016 13:15:16 +0300
Subject: [PATCH] Make coverage plugin compatible with Coverage.py 4.1

According to the Coverage.py 4.1 changelog:

- The `Coverage.report` function had two parameters with non-None defaults,
  which have been changed.  `show_missing` used to default to True, but now
  defaults to None.  If you had been calling `Coverage.report` without
  specifying `show_missing`, you'll need to explicitly set it to True to keep
  the same behavior.

Without that option, four tests in nose fail:

- test_coverage_plugin.TestCoverageMinPercentagePlugin
- test_coverage_plugin.TestCoverageMinPercentageSinglePackagePlugin
- test_coverage_plugin.TestCoverageMinPercentageSinglePackageWithBranchesPlugin
- test_coverage_plugin.TestCoveragePlugin

Patch-Source: https://github.com/nose-devs/nose/pull/1004

--- a/nose/plugins/cover.py
+++ b/nose/plugins/cover.py
@@ -187,7 +187,7 @@
                     for name, module in sys.modules.items()
                     if self.wantModuleCoverage(name, module)]
         log.debug("Coverage report will cover modules: %s", modules)
-        self.coverInstance.report(modules, file=stream)
+        self.coverInstance.report(modules, file=stream, show_missing=True)
 
         import coverage
         if self.coverHtmlDir:
@@ -207,7 +207,7 @@
         # make sure we have minimum required coverage
         if self.coverMinPercentage:
             f = StringIO.StringIO()
-            self.coverInstance.report(modules, file=f)
+            self.coverInstance.report(modules, file=f, show_missing=True)
 
             multiPackageRe = (r'-------\s\w+\s+\d+\s+\d+(?:\s+\d+\s+\d+)?'
                               r'\s+(\d+)%\s+\d*\s{0,1}$')
