aboutsummaryrefslogtreecommitdiffstats
path: root/test/kvx/coverage.sh
diff options
context:
space:
mode:
Diffstat (limited to 'test/kvx/coverage.sh')
-rwxr-xr-xtest/kvx/coverage.sh24
1 files changed, 24 insertions, 0 deletions
diff --git a/test/kvx/coverage.sh b/test/kvx/coverage.sh
new file mode 100755
index 00000000..96f6bc04
--- /dev/null
+++ b/test/kvx/coverage.sh
@@ -0,0 +1,24 @@
+#!/bin/bash
+
+printer=../../kvx/TargetPrinter.ml
+asmdir=instr/asm/
+to_cover_raw=/tmp/to_cover_raw
+to_cover=/tmp/to_cover
+covered_raw=/tmp/covered_raw
+covered=/tmp/covered
+
+# Stop at any error
+set -e
+# Pipes do not mask errors
+set -o pipefail
+
+sed -n "s/^.*fprintf\s\+oc\s*\"\s*\([a-z][^[:space:]]*\)\s.*/\1/p" $printer > $to_cover_raw
+python2.7 coverage_helper.py $to_cover_raw | sort -u > $to_cover
+
+rm -f $covered_raw
+for asm in $(ls $asmdir/*.ccomp.s); do
+ grep -v ":" $asm | sed -n "s/^\s*\([a-z][a-z0-9.]*\).*/\1/p" | sort -u >> $covered_raw
+done
+python2.7 coverage_helper.py $covered_raw | sort -u > $covered
+
+vimdiff $to_cover $covered