diff options
author | Lars Wirzenius <liw@liw.fi> | 2012-01-19 11:27:26 +0000 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2012-01-19 11:27:26 +0000 |
commit | 4cea5d2ea85779b185d85cdf91a8b4ac2effd583 (patch) | |
tree | 07b3809f6f04c776b1476efdd91388f35d81bad5 /CoverageTestRunner.py | |
parent | 7ee6b1ff562ab6ce439f942d0dfbb6fdcd24ed48 (diff) | |
download | coverage-test-runner-4cea5d2ea85779b185d85cdf91a8b4ac2effd583.tar.gz |
disable logging output while unit tests are run
Diffstat (limited to 'CoverageTestRunner.py')
-rw-r--r-- | CoverageTestRunner.py | 25 |
1 files changed, 23 insertions, 2 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) |