summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemko Tronçon <git@el-tramo.be>2009-08-14 09:13:11 (GMT)
committerRemko Tronçon <git@el-tramo.be>2009-08-16 22:13:28 (GMT)
commitd3dad1ccfe1741a5a5f2c610d995b5c8cc603844 (patch)
treeee78712720803addda4a7c3f2e1bc50b402c8257 /BuildTools/Coverage/GenerateSummary.py
parent8e53a2df443901f786932942759e5fe7b632852e (diff)
downloadswift-d3dad1ccfe1741a5a5f2c610d995b5c8cc603844.zip
swift-d3dad1ccfe1741a5a5f2c610d995b5c8cc603844.tar.bz2
Move coverage tools to BuildTools dir.
Diffstat (limited to 'BuildTools/Coverage/GenerateSummary.py')
-rwxr-xr-xBuildTools/Coverage/GenerateSummary.py35
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()