| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 | 
							- #!/bin/sh
 
- # Copyright 2013  The Tor Project, Inc.
 
- # See LICENSE for licensing information.
 
- # coverage -- run gcov on the appropriate set of object files to extract
 
- # coverage information.
 
- dst=$1
 
- for fn in src/core/*/*.c src/feature/*/*.c src/app/*/*.c src/lib/*/*.c; do
 
-     BN=`basename $fn`
 
-     DN=`dirname $fn`
 
-     F=`echo $BN | sed -e 's/\.c$//;'`
 
-     GC="${BN}.gcov"
 
-     # Figure out the object file names
 
-     ONS=$(echo "${DN}"/*testing_a-"${F}".o)
 
-     ONS_WILDCARD_LITERAL="${DN}/*testing_a-${F}.o"
 
-     # If the wildcard didn't expand, no files
 
-     if [ "$ONS" != "${ONS_WILDCARD_LITERAL}" ]
 
-     then
 
-       for on in $ONS; do
 
-         # We should have a gcno file
 
-         GCNO=`echo $on | sed -e 's/\.o$/\.gcno/;'`
 
-         if [ -e $GCNO ]
 
-         then
 
-           # No need to test for gcda, since gcov assumes no execution
 
-           # if it's absent
 
-           rm -f $GC
 
-           gcov -o $on $fn
 
-           if [ -e $GC ]
 
-           then
 
-             if [ -d "$dst" ]
 
-             then
 
-               mv $GC $dst/$GC
 
-             fi
 
-           else
 
-             echo "gcov -o $on $fn didn't make a .gcov file"
 
-           fi
 
-         else
 
-           echo "Couldn't find gcno file for $on"
 
-         fi
 
-       done
 
-     else
 
-       echo "No object file found matching source file $fn"
 
-     fi
 
- done
 
 
  |