summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'BuildTools/Coverage/FilterLCovData.py')
-rwxr-xr-xBuildTools/Coverage/FilterLCovData.py32
1 files changed, 32 insertions, 0 deletions
diff --git a/BuildTools/Coverage/FilterLCovData.py b/BuildTools/Coverage/FilterLCovData.py
new file mode 100755
index 0000000..a3a7ee5
--- /dev/null
+++ b/BuildTools/Coverage/FilterLCovData.py
@@ -0,0 +1,32 @@
+#!/usr/bin/env python
+
+# TODO: Add uncovered non-ignored files
+
+import sys, re, os.path
+
+assert(len(sys.argv) == 2)
+
+def isIgnored(file) :
+ return (file.find("/Swiften/") == -1 and file.find("/Slimber/") == -1 and file.find("/Swift/") == -1) or (file.find("/UnitTest/") != -1 or file.find("/QA/") != -1)
+
+
+output = []
+inputFile = open(sys.argv[1])
+inIgnoredFile = False
+for line in inputFile.readlines() :
+ if inIgnoredFile :
+ if line == "end_of_record\n" :
+ inIgnoredFile = False
+ else :
+ if line.startswith("SF:") and isIgnored(line) :
+ inIgnoredFile = True
+ else :
+ m = re.match("SF:(.*)", line)
+ if m :
+ line = "SF:" + os.path.realpath(m.group(1)) + "\n"
+ output.append(line)
+inputFile.close()
+
+outputFile = open(sys.argv[1], 'w')
+outputFile.write(''.join(output))
+outputFile.close()