changeset 292:3b9d79ef560f

Fix regression in test coverage collection introduced in [303]. Closes #67 (again).
author cmlenz
date Thu, 20 Oct 2005 14:22:11 +0000
parents d83208ed2db9
children f3469fde8a34
files bitten/build/pythontools.py
diffstat 1 files changed, 9 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/bitten/build/pythontools.py
+++ b/bitten/build/pythontools.py
@@ -148,6 +148,7 @@
                 code_lines.add(lineno)
         num_covered = 0
         lines = []
+
         if coverfile:
             prev_hits = '0'
             for idx, coverline in enumerate(coverfile):
@@ -170,13 +171,15 @@
                             num_covered += 1
                         lines.append(prev_hits)
 
-            num_lines = len(lines)
-            percentage = int(round(num_covered / num_lines) * 100)
-            module.attr['percentage'] = str(percentage) + '%'
-            module.attr['lines'] = num_lines
             module.append(xmlio.Element('line_hits')[' '.join(lines)])
+
+        num_lines = len(code_lines)
+        if num_lines:
+            percentage = int(round(num_covered * 100 / num_lines))
         else:
-            module.attr['lines'] = len(code_lines)
+            percentage = 0
+        module.attr['percentage'] = str(percentage) + '%'
+        module.attr['lines'] = num_lines
 
     try:
         summary_file = open(ctxt.resolve(summary), 'r')
@@ -201,8 +204,7 @@
                     missing_files.remove(filename)
                     covered_modules.add(modname)
                     module = xmlio.Element('coverage', name=modname,
-                                           file=filename.replace(os.sep, '/'),
-                                           percentage=int(match.group(2)))
+                                           file=filename.replace(os.sep, '/'))
                     sourcefile = file(ctxt.resolve(filename))
                     try:
                         coverpath = ctxt.resolve(coverdir, modname + '.cover')
Copyright (C) 2012-2017 Edgewall Software