filter_stderr_basic revision b32f58018498ea2225959b0ba11c18f0c433deef
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 10dir=`dirname $0` 11 12# Remove ==pid== and --pid-- and **pid** strings 13perl -p -e 's/(==|--|\*\*)[0-9]{1,7}\1 //' | 14 15# Remove any --pid:0: strings (debuglog level zero output) 16sed "/^--[0-9]\{1,7\}:0:*/d" | 17 18# Remove "Command: line". (If wrapping occurs, it won't remove the 19# subsequent lines...) 20sed "/^Command: .*$/d" | 21 22# Remove "WARNING: assuming toc 0x.." strings 23sed "/^WARNING: assuming toc 0x*/d" | 24 25# Remove "Using Valgrind-$VERSION and LibVEX..." line. 26# Tools have to filter their own line themselves. 27sed "/^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 30perl -p -e "s/(m_replacemalloc\/)?vg_replace_malloc.c:\d+\)/vg_replace_malloc.c:...\)/" | 31 32# Likewise for valgrind.h 33perl -p -e "s/valgrind\.h:\d+\)/valgrind\.h:...\)/" | 34 35# Hide suppressed error counts 36sed "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 42sed "/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. 48perl -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 52sed "s/\(signal [0-9]* (SIG[A-Z]*)\): dumping core/\1/" | 53 54# Remove the size in "The main thread stack size..." message. 55sed "s/The main thread stack size used in this run was [0-9]*/The main thread stack size used in this run was .../" | 56 57# Suppress warnings from incompatible debug info 58sed '/warning: the debug information found in "[^"]*" does not match/d' | 59 60# Suppress warnings from Dwarf reader 61sed '/warning: evaluate_Dwarf3_Expr: unhandled DW_OP_/d' 62