From 4f3a0803c488997fee42b8f8781d67b959f81eae Mon Sep 17 00:00:00 2001 From: David Stanek Date: Fri, 21 May 2010 23:40:04 -0400 Subject: refactored the plugin's finish method to better enable filtering modules from a report --- coverage/testplugin.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) (limited to 'coverage/testplugin.py') diff --git a/coverage/testplugin.py b/coverage/testplugin.py index f685758..c93b859 100644 --- a/coverage/testplugin.py +++ b/coverage/testplugin.py @@ -54,12 +54,8 @@ class CoverageTestWrapper(object): self.coverage.stop() self.coverage.save() - modules = [] - if self.coverPackages: - for name, module in sys.modules.items(): - for package in self.coverPackages: - if module is not None and name.startswith(package): - modules.append(module) + modules = [module for name, module in sys.modules.items() + if self._want_module(name, module)] # Remaining actions are reporting, with some common self.options. report_args = { @@ -95,6 +91,14 @@ class CoverageTestWrapper(object): return + def _want_module(self, name, module): + for package in self.coverPackages: + if module is not None and name.startswith(package): + return True + + return False + + options = [ optparse.Option('', '--cover-action', action='append', default=['report'], -- cgit v1.2.1