aboutsummaryrefslogtreecommitdiff
path: root/scripts/test/cov-diff
blob: 87518009669fe8894667972e933025b5f073a021 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#!/bin/sh
# Copyright 2013  The Tor Project, Inc.
# See LICENSE for licensing information.

# cov-diff -- compare two directories full of gcov files.

DIRA="$1"
DIRB="$2"

for B in "$DIRB"/*; do
  A=$DIRA/$(basename "$B")
  if [ -f "$A" ]; then
      perl -pe 's/^\s*\!*\d+(\*?):/        1$1:/; s/^([^:]+:)[\d\s]+:/$1/; s/^ *-:(Runs|Programs):.*//;' "$A" > "$A.tmp"
  else
      cat /dev/null > "$A.tmp"
  fi
  perl -pe 's/^\s*\!*\d+(\*?):/        1$1:/; s/^([^:]+:)[\d\s]+:/$1/; s/^ *-:(Runs|Programs):.*//;' "$B" > "$B.tmp"
  diff -u "$A.tmp" "$B.tmp" |perl -pe 's/^((?:\+\+\+|---)(?:.*tmp))\s+.*/$1/;'
  rm -f "$A.tmp" "$B.tmp"
done