changeset 471:b15e6eec8422

extract the code for filtering coverage files so it can be reused
author mgood
date Thu, 13 Dec 2007 22:14:25 +0000
parents dad562913fde
children 5e84a4249858
files bitten/util/testrunner.py
diffstat 1 files changed, 19 insertions(+), 13 deletions(-) [+]
line wrap: on
line diff
--- a/bitten/util/testrunner.py
+++ b/bitten/util/testrunner.py
@@ -163,19 +163,7 @@
             buf.seek(0)
             fileobj = open(self.coverage_summary, 'w')
             try:
-                for idx, line in enumerate(buf):
-                    if idx < 2 or line.startswith('--'):
-                        fileobj.write(line)
-                        continue
-                    parts = line.split()
-                    name = parts[0]
-                    if name not in sys.modules:
-                        fileobj.write(line)
-                        continue
-                    filename = os.path.normpath(sys.modules[name].__file__)
-                    if filename.endswith('.pyc') or filename.endswith('.pyo'):
-                        filename = filename[:-1]
-                    fileobj.write(line.rstrip() + ' ' + filename + '\n')
+                filter_coverage(buf, fileobj)
             finally:
                 fileobj.close()
 
@@ -227,6 +215,24 @@
             return e.code
 
 
+def filter_coverage(infile, outfile):
+    for idx, line in enumerate(infile):
+        if idx < 2 or line.startswith('--'):
+            outfile.write(line)
+            continue
+        parts = line.split()
+        name = parts[0]
+        if name == 'TOTAL':
+            continue
+        if name not in sys.modules:
+            outfile.write(line)
+            continue
+        filename = os.path.normpath(sys.modules[name].__file__)
+        if filename.endswith('.pyc') or filename.endswith('.pyo'):
+            filename = filename[:-1]
+        outfile.write(line.rstrip() + ' ' + filename + '\n')
+
+
 def main():
     from distutils.dist import Distribution
     from optparse import OptionParser
Copyright (C) 2012-2017 Edgewall Software