]> git.ipfire.org Git - thirdparty/elfutils.git/commitdiff
Add coverage analysis of test suite.
authorUlrich Drepper <drepper@redhat.com>
Tue, 30 Aug 2005 01:22:01 +0000 (01:22 +0000)
committerUlrich Drepper <drepper@redhat.com>
Tue, 30 Aug 2005 01:22:01 +0000 (01:22 +0000)
ChangeLog
configure.ac
tests/ChangeLog
tests/Makefile.am
tests/coverage.sh [new file with mode: 0755]

index b390eedacfb308ae1617e79fb634253cd32490e7..fc5cb13acaf78437fe41bd2242fffb62962ad531 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2005-08-29  Ulrich Drepper  <drepper@redhat.com>
+
+       * configure.ac: Fix GCOV make condition generation.
+
 2005-08-28  Ulrich Drepper  <drepper@redhat.com>
 
        * configure.ac: Add --enable-gcov option.
index f721310db2c8a47d6e710cf6a72929d9ae5ac13d..547d11823fe7dc10879874a41116ab1c3bebfaaa 100644 (file)
@@ -147,7 +147,7 @@ if test "$use_gcov" = yes; then
   CFLAGS="$CFLAGS -fprofile-arcs -ftest-coverage"
   LDFLAGS="$LDFLAGS -fprofile-arcs"
 fi
-AM_CONDITIONAL(GPROF, test "$use_gprof" = yes)
+AM_CONDITIONAL(GCOV, test "$use_gcov" = yes)
 
 AM_CONDITIONAL(BUILD_STATIC, [dnl
 test "$use_mudflap" = yes -o "$use_gprof" = yes -o "$use_gcov" = yes])
index e32c3041824af18e286659ea1a7439d9c2adda26..ee6c18966909780e88587699b2be31eaa5c45166 100644 (file)
@@ -1,3 +1,9 @@
+2005-08-29  Ulrich Drepper  <drepper@redhat.com>
+
+       * Makefile.am (EXTRA_DIST): Add coverage.
+       [GCOV]: Generate coverage summary after the tests ran
+       * coverage.sh: New file.
+
 2005-08-28  Ulrich Drepper  <drepper@redhat.com>
 
        * Makefile.an [BUILD_STATIC] (libdw): Add -ldl.
index 5ffe34ce936b59ac217d28eb51e08ed7eacdcfb3..119e11d79b6eea359380990035d979947ef79e5e 100644 (file)
@@ -70,7 +70,8 @@ EXTRA_DIST = run-arextract.sh run-arsymtest.sh \
             testfile18.bz2 testfile19.bz2 testfile19.index.bz2 \
             testfile20.bz2 testfile20.index.bz2 \
             testfile21.bz2 testfile21.index.bz2 \
-            testfile22.bz2 testfile23.bz2 testfile24.bz2 testfile25.bz2
+            testfile22.bz2 testfile23.bz2 testfile24.bz2 testfile25.bz2 \
+            coverage.sh
 
 if MUDFLAP
 static_build=yes
@@ -128,3 +129,10 @@ asm_tst9_LDADD = $(libasm) $(libebl) $(libelf) $(libmudflap) -ldl
 dwflmodtest_LDADD = $(libdw) $(libebl) $(libelf) $(libmudflap) -ldl
 
 CLEANFILES = xxx *.gcno *.gcda *gconv
+
+if GCOV
+check: check-am coverage
+.PHONY: coverage
+coverage:
+       -$(srcdir)/coverage.sh
+endif
diff --git a/tests/coverage.sh b/tests/coverage.sh
new file mode 100755 (executable)
index 0000000..d5fd6b6
--- /dev/null
@@ -0,0 +1,23 @@
+#! /bin/bash
+
+cd ..
+
+for d in lib libasm libdw libdwfl libebl libelf src; do
+  tmp=../$d-data
+  cd $d
+  unused=0
+  for f in *.gcno; do
+    base="$(basename $f .gcno)"
+    fc="$base.c"
+    gcda="$base.gcda"
+    if [ -f "$gcda" ]; then
+      gcov -n -a "$fc" |
+      gawk "/$d.$fc/ { getline; co=gensub(/.*:(.*)% .*/, \"\\\\1\", \"g\"); co=co+0.0; li=\$4+0; printf \"%-35s  %6.2f %5d\n\", \"$d/$fc\", co, li } " >> $tmp
+    else
+      unused=$(($unused + 1))
+    fi
+  done
+  gawk "{ copct=\$2; co=(\$3*copct)/100; toco+=(co+0); toli += (\$3+0); } END { printf \"%-12s %6.2f%% covered       unused files: %3d\n\", \"$d\", (toco*100)/toli, \"$unused\" }" $tmp
+  rm -f $tmp
+  cd ..
+done