diff options
author | Remko Tronçon <git@el-tramo.be> | 2009-08-14 09:13:11 (GMT) |
---|---|---|
committer | Remko Tronçon <git@el-tramo.be> | 2009-08-16 22:13:28 (GMT) |
commit | d3dad1ccfe1741a5a5f2c610d995b5c8cc603844 (patch) | |
tree | ee78712720803addda4a7c3f2e1bc50b402c8257 /BuildTools/Coverage/GenerateSummary.py | |
parent | 8e53a2df443901f786932942759e5fe7b632852e (diff) | |
download | swift-contrib-d3dad1ccfe1741a5a5f2c610d995b5c8cc603844.zip swift-contrib-d3dad1ccfe1741a5a5f2c610d995b5c8cc603844.tar.bz2 |
Move coverage tools to BuildTools dir.
Diffstat (limited to 'BuildTools/Coverage/GenerateSummary.py')
-rwxr-xr-x | BuildTools/Coverage/GenerateSummary.py | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/BuildTools/Coverage/GenerateSummary.py b/BuildTools/Coverage/GenerateSummary.py new file mode 100755 index 0000000..ec94a4f --- /dev/null +++ b/BuildTools/Coverage/GenerateSummary.py @@ -0,0 +1,35 @@ +#!/usr/bin/env python + +import sys, re + +assert(len(sys.argv) == 3) + +inputFile = open(sys.argv[1]) +currentFile = "" +coverage = {} +for line in inputFile.readlines() : + line = line.strip() + m = re.match("^SF:(.*)", line) + if m : + currentFile = m.group(1) + else : + m = re.match("^DA:(\d+),(\d+)", line) + if m : + currentFileCoverage = coverage.get(currentFile, {}) + line = int(m.group(1)) + count = int(m.group(2)) + currentFileCoverage[line] = currentFileCoverage.get(line, 0) + count + coverage[currentFile] = currentFileCoverage +inputFile.close() + +totalLines = 0 +coveredLines = 0 +for c in coverage.values() : + totalLines += len(c) + for l in c.values() : + if l > 0 : + coveredLines += 1 + +outputFile = open(sys.argv[2], 'w') +outputFile.write(str(coveredLines) + "/" + str(totalLines)) +outputFile.close() |