# HG changeset patch # User cmlenz # Date 1129818131 0 # Node ID 3b9d79ef560f7888c7e7d012b479a6ba9f5afc4c # Parent d83208ed2db9d08bb6ef50765bf96fc33d2bacb5 Fix regression in test coverage collection introduced in [303]. Closes #67 (again). diff --git a/bitten/build/pythontools.py b/bitten/build/pythontools.py --- 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')