#! /bin/sh # # Copyright by The HDF Group. # Copyright by the Board of Trustees of the University of Illinois. # All rights reserved. # # This file is part of HDF5. The full HDF5 copyright notice, including # terms governing use, modification, and redistribution, is contained in # the COPYING file, which can be found at the root of the source code # distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases. # If you do not have access to either file, you may request a copy from # help@hdfgroup.org. # A script to generate coverage files for HDF5 using gcov. # Configures, builds, and runs tests in-place; the output files will be placed # in a directory called gcov_logs. # Must be invoked from the root hdf5 directory. # This script has been tested on kagiso. CFLAGS="$CFLAGS -ftest-coverage -fprofile-arcs" export CFLAGS LDFLAGS="$LDFLAGS -lgcov" export LDFLAGS CC=gcc export CC ./configure make make check mkdir gcov_logs cd src for j in *.h *.c do ln -s ../$j .libs/$j done cd .libs for j in *.gcda do gcov -b $j >> gcov.log 2>&1 done for j in *.gcov do mv $j ../../gcov_logs done mv gcov.log ../../gcov_logs for j in *.c *.h do rm $j done cd ../..