summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lab/cover-plugin.txt54
1 files changed, 54 insertions, 0 deletions
diff --git a/lab/cover-plugin.txt b/lab/cover-plugin.txt
new file mode 100644
index 00000000..927fff81
--- /dev/null
+++ b/lab/cover-plugin.txt
@@ -0,0 +1,54 @@
+== nose cover plugin flow ==
+
+- configure:
+ set self.coverPackages: list of names of packages
+
+- begin:
+ self.skipModules = sys.modules.keys()[:]
+ set coverage.exclude (why?)
+ coverage.start
+
+
+- report:
+ coverage.stop()
+ modules = [ module
+ for name, module in sys.modules.items()
+ if self.wantModuleCoverage(name, module) ]
+ coverage.report(modules)
+
+- wantModuleCoverage(name, module):
+ if self.coverPackages:
+ for package in self.coverPackages:
+ want_it = False
+ if name.startswith(package):
+ if self.coverTests:
+ want_it = True
+ else:
+ want_it = not self.conf.testMatch.search(name)
+ if want_it:
+ return True
+ if name in self.skipModules:
+ return False
+
+ if self.conf.testMatch.search(name) and not self.coverTests:
+ return False
+
+ return not self.coverPackages
+
+- wantFile:
+
+
+
+
+source, include, omit:
+
+ # self.source is a list of canonical directories for the packages.
+ # canon_dir is the canonical directory containing the source file.
+
+ if self.source:
+ for s in self.source:
+ if is_contained(s, canon_dir):
+ break
+ else:
+ # This file wasn't in any source.
+ return False