1#! /bin/sh
2
3dir=`dirname $0`
4
5$dir/../../tests/filter_stderr_basic                    |
6
7# Anonymise addresses
8$dir/../../tests/filter_addresses                       |
9
10# get rid of the numbers in bits of text "Thread #n", "thread #n",
11# "Thread n" and "thread n",
12# as these make some tests more scheduling sensitive -- those where
13# there are multiple threads which play interchangeable roles.
14sed \
15 -e "s/hread #[0-9][0-9]*/hread #x/g" \
16 -e "s/hread [0-9][0-9]*/hread x/g" |
17
18# Likewise for frame numbers, which depend on compilation.
19sed -e "s/frame #[0-9][0-9]*/frame #x/g" | \
20
21# Merge sem_wait and sem_wait@*, as either could be used.  Likewise for
22# sem_post.
23sed \
24 -e "s/sem_wait@\*/sem_wait/" \
25 -e "s/sem_post@\*/sem_post/" |
26
27# Remove "Helgrind, ..." line and the following copyright line;
28# also the standard postamble (does such a word exist?)
29# And also remove pthread_create_WRK lines, as ppc64 stacktraces
30# do not contain them (at least on gcc110/fedora18).
31sed \
32 -e "/^Helgrind, a thread error detector/ , /./ d" \
33 -e "/^For counts of detected and suppressed errors, rerun with: -v$/d" \
34 -e "/^Use --history-level=approx or =none to gain increased speed, at$/d" \
35 -e "/^the cost of reduced accuracy of conflicting-access information$/d" \
36 -e "/pthread_create_WRK (hg_intercepts.c:/d" |
37
38$dir/../../helgrind/tests/filter_helgrind "$@"
39
40exit 0
41