]> rtime.felk.cvut.cz Git - l4.git/blob - l4/pkg/valgrind/src/valgrind-3.6.0-svn/tests/filter_stderr_basic
758695871328ad397bdad73021b3cc21d09b42fe
[l4.git] / l4 / pkg / valgrind / src / valgrind-3.6.0-svn / tests / filter_stderr_basic
1 #! /bin/sh
2
3 # This filter should be applied to *every* stderr result.  It removes
4 # Valgrind startup stuff and pid numbers.
5 #
6 # Nb: The GNU and BSD implementations of 'sed' are quite different, so
7 # anything remotely complicated (e.g. "\(a\|b\)" alternatives) can't be
8 # easily done.  Use Perl instead for any such cases.
9
10 dir=`dirname $0`
11
12 # Remove ==pid== and --pid-- and ++pid++ and **pid** strings 
13 perl -p -e 's/(==|--|\+\+|\*\*)[0-9]{1,7}\1 //' |
14
15 # Remove any --pid:0: strings (debuglog level zero output)
16 sed "/^--[0-9]\{1,7\}:0:*/d" |
17
18 # Remove "Command: line".  (If wrapping occurs, it won't remove the
19 # subsequent lines...)
20 sed "/^Command: .*$/d" |
21
22 # Remove "WARNING: assuming toc 0x.." strings
23 sed "/^WARNING: assuming toc 0x*/d" |
24
25 # Remove "Using Valgrind-$VERSION and LibVEX..." line.
26 # Tools have to filter their own line themselves.
27 sed "/^Using Valgrind-.* and LibVEX; rerun with -h for copyright info/ d" |
28
29 # Anonymise line numbers in vg_replace_malloc.c, remove dirname if present
30 perl -p -e "s/(m_replacemalloc\/)?vg_replace_malloc.c:\d+\)/vg_replace_malloc.c:...\)/" |
31
32 # Likewise for valgrind.h
33 perl -p -e "s/valgrind\.h:\d+\)/valgrind\.h:...\)/" |
34
35 # Hide suppressed error counts
36 sed "s/^\(ERROR SUMMARY[^(]*(suppressed: \)[0-9]*\( from \)[0-9]*)$/\10\20)/" |
37
38 # Reduce some libc incompatibility
39 $dir/filter_libc |
40
41 # Remove line info out of order warnings
42 sed "/warning: line info addresses out of order/d" |
43
44 # Older bash versions print abnormal termination messages on the stderr
45 # of the bash process. Newer bash versions redirect such messages properly.
46 # Suppress any redirected abnormal termination messages. You can find the
47 # complete list of messages in the bash source file siglist.c.
48 perl -n -e 'print if !/^(Segmentation fault|Alarm clock|Aborted|Bus error)( \(core dumped\))?$/' |
49
50 # Remove any ": dumping core" message as the user might have a
51 # limit set that prevents the core dump
52 sed "s/\(signal [0-9]* (SIG[A-Z]*)\): dumping core/\1/" |
53
54 # Remove the size in "The main thread stack size..." message.
55 sed "s/The main thread stack size used in this run was [0-9]*/The main thread stack size used in this run was .../"
56