blob: 7b3003d533e7e3ca9f69224f8e0a3dc08ddccb11 [file] [log] [blame]
#! /bin/sh
dir=`dirname $0`
$dir/../../tests/filter_stderr_basic |
# Anonymise addresses
$dir/../../tests/filter_addresses |
# get rid of the numbers in bits of text "Thread #n", "thread #n",
# "Thread n" and "thread n", "tid n"
# as these make some tests more scheduling sensitive -- those where
# there are multiple threads which play interchangeable roles.
sed \
-e "s/tid [0-9][0-9]*/tid #x/g" \
-e "s/hread #[0-9][0-9]*/hread #x/g" \
-e "s/hread [0-9][0-9]*/hread x/g" |
# Likewise for frame numbers, which depend on compilation.
sed -e "s/frame #[0-9][0-9]*/frame #x/g" | \
# Merge sem_wait and sem_wait@*, as either could be used. Likewise for
# sem_post.
sed \
-e "s/sem_wait@\*/sem_wait/" \
-e "s/sem_post@\*/sem_post/" |
# Remove "Helgrind, ..." line and the following copyright line;
# also the standard postamble (does such a word exist?)
# And also remove pthread_create_WRK lines, as ppc64 stacktraces
# do not contain them (at least on gcc110/fedora18).
sed \
-e "/^Helgrind, a thread error detector/ , /./ d" \
-e "/^For counts of detected and suppressed errors, rerun with: -v$/d" \
-e "/^Use --history-level=approx or =none to gain increased speed, at$/d" \
-e "/^the cost of reduced accuracy of conflicting-access information$/d" \
-e "/pthread_create_WRK (hg_intercepts.c:/d" |
# Some arches return ENOSYS instead of EINVAL for undefined futex operations.
sed -e "s/with error code 38 (ENOSYS: Function not implemented)/with error code 22 (EINVAL: Invalid argument)/" |
$dir/../../helgrind/tests/filter_helgrind "$@"
exit 0