summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2012-01-19 11:27:26 +0000
committerLars Wirzenius <liw@liw.fi>2012-01-19 11:27:26 +0000
commit4cea5d2ea85779b185d85cdf91a8b4ac2effd583 (patch)
tree07b3809f6f04c776b1476efdd91388f35d81bad5
parent7ee6b1ff562ab6ce439f942d0dfbb6fdcd24ed48 (diff)
downloadcoverage-test-runner-4cea5d2ea85779b185d85cdf91a8b4ac2effd583.tar.gz
disable logging output while unit tests are run
-rw-r--r--CoverageTestRunner.py25
-rw-r--r--NEWS4
-rw-r--r--subdir/foo.py3
3 files changed, 29 insertions, 3 deletions
diff --git a/CoverageTestRunner.py b/CoverageTestRunner.py
index 04cd791..0917611 100644
--- a/CoverageTestRunner.py
+++ b/CoverageTestRunner.py
@@ -20,9 +20,19 @@ import os
import imp
import sys
import time
+import logging
-__version__ = '1.7.1'
+__version__ = '1.8'
+
+
+
+class AllowNothing(logging.Filter):
+
+ '''A logging library filter that disables everything.'''
+
+ def filter(self, record):
+ return False
class CoverageTestResult(unittest.TestResult):
@@ -89,7 +99,8 @@ class CoverageTestRunner:
self._module_pairs = []
self._missing_test_modules = []
self._excluded_modules = []
-
+ self.allow_nothing = AllowNothing()
+
def add_pair(self, module_pathname, test_module_pathname):
"""Add a module and its test module to list of tests."""
self._module_pairs.append((module_pathname, test_module_pathname))
@@ -165,6 +176,14 @@ class CoverageTestRunner:
print "%s: %s" % (flavor, str(test))
print str(error)
+ def enable_logging(self):
+ logger = logging.getLogger()
+ logger.removeFilter(self.allow_nothing)
+
+ def disable_logging(self):
+ logger = logging.getLogger()
+ logger.addFilter(self.allow_nothing)
+
def run(self):
start_time = time.time()
@@ -183,7 +202,9 @@ class CoverageTestRunner:
sys.path.insert(0, os.path.dirname(module.__file__))
reload(module)
del sys.path[0]
+ self.disable_logging()
suite.run(result)
+ self.enable_logging()
coverage.stop()
filename, stmts, excluded, missed, missed_desc = \
coverage.analysis2(module)
diff --git a/NEWS b/NEWS
index e867995..2d8d2e1 100644
--- a/NEWS
+++ b/NEWS
@@ -1,11 +1,13 @@
NEWS about CoverageTestRunner
=============================
-Version 1.8, released UNRELEASED
+Version 1.8, released 2012-01-19
--------------------------------
* Progress reporting is now disabled when output does not go to a terminal.
This will make build logs prettier.
+* `logging` output is now disabled when unit tests are run. This means that
+ individual projects no longer need to hide the output themselves.
Version 1.7.1, released 2011-09-04
--------------------------------
diff --git a/subdir/foo.py b/subdir/foo.py
index 711ab4d..51a5dde 100644
--- a/subdir/foo.py
+++ b/subdir/foo.py
@@ -1,6 +1,9 @@
+import logging
+
class Foo:
def foo(self, a):
+ logging.error('this should not be displayed when testrun runs')
if a:
return True
elif False: # pragma: no cover