summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Larson <larson.eric.d@gmail.com>2014-08-11 08:43:26 -0700
committerEric Larson <larson.eric.d@gmail.com>2016-01-27 14:50:26 -0500
commit049b295dccb2b40398d8e0e1e5fccbc2cdf61af8 (patch)
treefefeb069bac103661e69dbbc0a2679c1b6461ac9
parentcb9b82f03075e103642ca132c6c15b838437017d (diff)
downloadnose-049b295dccb2b40398d8e0e1e5fccbc2cdf61af8.tar.gz
FIX: Add simple test
-rw-r--r--CHANGELOG4
-rw-r--r--nose/plugins/cover.py18
-rw-r--r--unit_tests/test_cover_plugin.py8
3 files changed, 24 insertions, 6 deletions
diff --git a/CHANGELOG b/CHANGELOG
index 25d5090..902d606 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -2,6 +2,8 @@
- Fix loading packages from capitalised package on Windows
Patch by Thomas Kluyver
+- Add option to suppress printing of coverage report
+ Patch by Eric Larson.
1.3.6
@@ -32,8 +34,6 @@
1.3.3
-- Add option to suppress printing of coverage report
- Patch by Eric Larson.
- Fixed a minor issue with the reported version number.
1.3.2
diff --git a/nose/plugins/cover.py b/nose/plugins/cover.py
index 527f484..4bae004 100644
--- a/nose/plugins/cover.py
+++ b/nose/plugins/cover.py
@@ -146,6 +146,10 @@ class Coverage(Plugin):
if options.cover_xml:
self.coverXmlFile = options.cover_xml_file
log.debug('Will put XML coverage report in %s', self.coverXmlFile)
+ # Coverage uses True to mean default
+ self.coverConfigFile = True
+ if options.cover_config_file:
+ self.coverConfigFile = options.cover_config_file
self.coverPrint = not options.cover_no_print
if self.enabled:
self.status['active'] = True
@@ -156,7 +160,18 @@ class Coverage(Plugin):
self.coverInstance.is_worker = conf.worker
self.coverInstance.exclude('#pragma[: ]+[nN][oO] [cC][oO][vV][eE][rR]')
- def begin(self):
+ log.debug("Coverage begin")
+ self.skipModules = sys.modules.keys()[:]
+ if self.coverErase:
+ log.debug("Clearing previously collected coverage statistics")
+ self.coverInstance.combine()
+ self.coverInstance.erase()
+
+ if not self.coverInstance.is_worker:
+ self.coverInstance.load()
+ self.coverInstance.start()
+
+ def beforeTest(self, *args, **kwargs):
"""
Begin recording coverage information.
"""
@@ -174,7 +189,6 @@ class Coverage(Plugin):
self.coverInstance.stop()
self.coverInstance.save()
-
def report(self, stream):
"""
Output code coverage report.
diff --git a/unit_tests/test_cover_plugin.py b/unit_tests/test_cover_plugin.py
index b95c590..5999413 100644
--- a/unit_tests/test_cover_plugin.py
+++ b/unit_tests/test_cover_plugin.py
@@ -1,10 +1,8 @@
import os
-import sys
from optparse import OptionParser
from nose.config import Config
from nose.plugins.cover import Coverage
from nose.tools import eq_
-import unittest
class TestCoveragePlugin(object):
@@ -14,6 +12,11 @@ class TestCoveragePlugin(object):
['pkg1', 'pkg2', 'pkg3'], [],
'pkg1,pkg2,pkg3', 'NOSE_COVER_PACKAGE')
+ def test_cover_options_noprint(self):
+ _test_options_helper('--cover-no-print', 'coverPrint',
+ False, True,
+ env_key='NOSE_COVER_NO_PRINT')
+
def test_cover_options_erase(self):
_test_options_helper('--cover-erase', 'coverErase',
True, False,
@@ -63,6 +66,7 @@ class TestCoveragePlugin(object):
finally:
os.unlink('not_default_config_file')
+
def _test_options_helper(arg_option, cover_option,
expected_set, expected_not_set,
arg_value=None, env_key=None):