Implemented long variable names a la spss V12.
[pspp-builds.git] / tests / coverage.sh
diff --git a/tests/coverage.sh b/tests/coverage.sh
new file mode 100755 (executable)
index 0000000..da330e9
--- /dev/null
@@ -0,0 +1,49 @@
+#!/bin/sh
+
+# This little script can be used in conjunction with gcov to see how well 
+# the regression test suite is covering the PSPP code.
+# 
+# To use it: 
+# 
+# make distclean
+# export CFLAGS="-O0 -g -fprofile-arcs -ftest-coverage"
+# ./configure
+# make check
+# tests/coverage.sh
+
+export TEMPDIR=/tmp/pspp-cov-$$
+
+mkdir -p $TEMPDIR
+
+files=`find src -name '*.c'`
+
+export summary_file="$TEMPDIR/coverage.txt"
+
+rm -f $summary_file
+
+for f in $files ; do 
+       dir=`dirname $f`
+       gcov -p -l -n -o $dir $f  | grep -v '^Creat' >> $summary_file
+done
+
+cat  > "$TEMPDIR/cov.sps" << EOF 
+DATA LIST  FREE  FILE='$summary_file' /COVERAGE (PCT8) d1 (a2) lines *  d2 (a10) d3 (a10) d4 (a10) d5 (a10) file (a25).
+
+
+AGGREGATE OUTFILE=*
+       /BREAK=file
+       /COVERAGE=MIN(COVERAGE).
+
+SORT CASES BY COVERAGE.
+
+LIST /COVERAGE file.
+
+FREQUENCIES /COVERAGE
+  /HISTOGRAM
+  /PERCENTILES=25,50,75,90.
+
+EOF
+
+src/pspp -o html $TEMPDIR/cov.sps
+
+rm -rf $TEMPDIR