| #!/bin/bash |
| |
| start=$PWD |
| test_home=`dirname $0` |
| sanitydir=@datadir@/@PACKAGE@/tests |
| |
| if [ $test_home != $sanitydir ]; then |
| # Running against the source tree |
| GCOV_BASE=@abs_top_srcdir@ |
| sanitydir=@abs_top_srcdir@ |
| cd @abs_top_srcdir@ |
| |
| grep with-gcov config.log |
| if [ $? = 0 ]; then |
| echo "Pacemaker was built with gcov support" |
| else |
| echo "Re-building with gcov support" |
| last=`grep --color=never "$.*configure" config.log | tail -n 1 | sed s:.*configure:./configure: | sed s:--no-create:--with-gcov:` |
| eval $last |
| fi |
| |
| #sudo make core core-install |
| |
| else |
| GCOV_BASE=@localstatedir@/lib/pacemaker/gcov/ |
| mkdir -p $GCOV_BASE |
| |
| export GCOV_PREFIX_STRIP=4 |
| export GCOV_PREFIX=$GCOV_BASE |
| |
| top=`find / -name crm_internal.h 2>/dev/null | grep debug | head -n 1` |
| if [ "x$top" = x ]; then |
| echo "Could not locate the pacemaker headers" |
| exit 1 |
| fi |
| |
| cd `dirname $top` |
| cd .. |
| |
| echo "Creating the directory structure in $GCOV_BASE from $PWD" |
| # The .gcno files will already be there for sources, |
| # but we still need to create the include/ subtree |
| find . -type d -exec mkdir -p $GCOV_BASE/\{\} \; |
| |
| echo "Now linking the source files into place" |
| find . -type f -name "*.c" -exec ln -s $PWD/\{\} $GCOV_BASE\{\} \; |
| find . -type f -name "*.h" -exec ln -s $PWD/\{\} $GCOV_BASE\{\} \; |
| find . -type f -name "*.debug" -exec ln -s $PWD/\{\} $GCOV_BASE\{\} \; |
| fi |
| |
| cd $start |
| lcov -d $GCOV_BASE -z |
| |
| # Run all active regression tests |
| $sanitydir/BasicSanity.sh |
| |
| lcov -d $GCOV_BASE -c -o pacemaker.info |
| |
| rm -rf html |
| mkdir html |
| genhtml -o html pacemaker.info |
| |