From: Bart Van Assche Date: Sat, 6 Sep 2014 12:19:23 +0000 (+0000) Subject: drd: Make regression test output independent of --read-inline-info X-Git-Tag: svn/VALGRIND_3_10_0~31 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e8d6ec699feac240544feda28a9bbff29013046a;p=thirdparty%2Fvalgrind.git drd: Make regression test output independent of --read-inline-info There are plans to enable --read-inline-info=yes for all Valgrind tools. Hence make the DRD regression test output independent of how --read-inline-info has been set. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14478 --- diff --git a/drd/tests/filter_stderr b/drd/tests/filter_stderr index 233e8af744..a66a1494a8 100755 --- a/drd/tests/filter_stderr +++ b/drd/tests/filter_stderr @@ -29,6 +29,7 @@ sed \ -e "s: BSS section of [^<]*/: BSS section of :g" \ -e "s: vc \[[ ,:0-9]*\]: vc ...:g" \ -e "s/[@\$*]* (drd_pthread_intercepts.c:/ (drd_pthread_intercepts.c:/" \ +-e "/\(pthread\|sem\)_[a-zA-Z0-9_]*_intercept/d" \ -e "s/ (\([a-zA-Z_]*\.c\):[0-9]*)/ (\1:?)/" \ -e "s/ (\([a-zA-Z_]*\.h\):[0-9]*)/ (\1:?)/" \ -e "s/ (\([a-zA-Z_]*\.cpp\):[0-9]*)/ (\1:?)/" \ @@ -43,6 +44,12 @@ awk 'BEGIN{begin=1} {if ($0 == "More than 100 errors detected. Subsequent error # Remove the message about experimental support for Darwin. awk 'BEGIN{begin=1} { if ($0 == "WARNING: DRD support for Darwin is still considered as experimental.") { getline; getline; } else { if (begin) begin = 0; else print last_line; }; last_line = $0; } END { if (! begin) print last_line; }' | +# Make sure the first line of a stack trace starts with "at" +awk '{ s = !match(prev, " by ") && !match(prev, " at ") && match($0, " by "); prev = $0; if (s) sub(" by ", " at ", $0); print }' | + +# Remove ...drd_pthread_intercepts.c... +awk '/^ $/ { in_frame = 1; line = 0; drd_pthread_intercepts = 0; fn = 0; } /^ drd_pthread_intercepts.c<\/file>$/ { drd_pthread_intercepts = 1; } /^ / { fn = 1; } { if (in_frame) frame[line++] = $0; else print; } /^ <\/frame>/ { if (in_frame) { if (!drd_pthread_intercepts || fn) for (i = 0; i < line; i++) { print frame[i]; }; in_frame = 0; } }' | + # Anonymise addresses $dir/../../tests/filter_addresses