From: Nicholas Nethercote Date: Fri, 24 Jul 2009 05:16:31 +0000 (+0000) Subject: In r10465 --time-stamp=yes got slightly broken -- the space between the time X-Git-Tag: svn/VALGRIND_3_5_0~275 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=aa4962d995925e7cd3f83f26808a9f2c1aa5d93c;p=thirdparty%2Fvalgrind.git In r10465 --time-stamp=yes got slightly broken -- the space between the time and the PID was removed. This commit adds it back in. It also adds a basic test that would have detected this regression, and also the breakage in bug 200990. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10573 --- diff --git a/none/tests/Makefile.am b/none/tests/Makefile.am index e87a3d70a9..8257d4dd82 100644 --- a/none/tests/Makefile.am +++ b/none/tests/Makefile.am @@ -33,8 +33,12 @@ endif DIST_SUBDIRS = x86 amd64 ppc32 ppc64 linux darwin x86-linux . dist_noinst_SCRIPTS = \ - filter_cmdline0 filter_linenos \ - filter_fdleak filter_none_discards filter_stderr + filter_cmdline0 \ + filter_linenos \ + filter_fdleak \ + filter_none_discards \ + filter_stderr \ + filter_timestamp noinst_HEADERS = fdleak.h @@ -131,6 +135,7 @@ EXTRA_DIST = \ threaded-fork.stderr.exp threaded-fork.stdout.exp threaded-fork.vgtest \ threadederrno.stderr.exp threadederrno.stdout.exp \ threadederrno.vgtest \ + timestamp.stderr.exp timestamp.vgtest \ tls.vgtest tls.stderr.exp tls.stdout.exp \ vgprintf.stderr.exp vgprintf.stdout.exp vgprintf.vgtest @@ -157,9 +162,15 @@ check_PROGRAMS = \ syscall-restart1 syscall-restart2 \ syslog \ system \ - threaded-fork threadederrno \ - tls tls.so tls2.so vgprintf \ - coolo_sigaction gxx304 + threaded-fork \ + threadederrno \ + timestamp \ + tls \ + tls.so \ + tls2.so \ + vgprintf \ + coolo_sigaction \ + gxx304 # DDD: # - manythreads and thread-exits have lots of this: diff --git a/none/tests/filter_timestamp b/none/tests/filter_timestamp new file mode 100755 index 0000000000..f8fe944fdb --- /dev/null +++ b/none/tests/filter_timestamp @@ -0,0 +1,26 @@ +#! /bin/sh + +dir=`dirname $0` + +sed "s/^==//" | + +perl -p -e "s/ [0-9]{1,7}==//" | + +# Have to strip the header ourselves, because the timestamp means the +# default stripping doesn't work. +sed "/ Nulgrind.*$/ d" | +sed "/ Copyright.*$/ d" | +sed "/ Using Valgrind.*$/ d" | + +$dir/filter_stderr | + +# At this point there are two lines left which look something like this: +# 00:00:00:00.000 +# 00:00:00:01.107 +# We replace the last 5 numbers to allow for a wide range of possible times. +# It's not a great test, but it will catch some breakage (eg. if the times +# don't start near 0, as happened in bug 200990, or if the space following +# the time is omitted, as happend in r10465). +# +perl -p -e "s/^00:00:00:\d\d\.\d\d\d $/00:00:00:XX:YYY/" + diff --git a/none/tests/timestamp.c b/none/tests/timestamp.c new file mode 100644 index 0000000000..ca0faba2e2 --- /dev/null +++ b/none/tests/timestamp.c @@ -0,0 +1,15 @@ +#include +#include + +int main(void) +{ + int y = 0; + int* x = calloc(1,sizeof(int)); + free(x); + + y += x[0]; + sleep(1); + y += x[0]; + + return y; +} diff --git a/none/tests/timestamp.stderr.exp b/none/tests/timestamp.stderr.exp new file mode 100644 index 0000000000..00a5083aeb --- /dev/null +++ b/none/tests/timestamp.stderr.exp @@ -0,0 +1,2 @@ +00:00:00:XX:YYY +00:00:00:XX:YYY diff --git a/none/tests/timestamp.vgtest b/none/tests/timestamp.vgtest new file mode 100644 index 0000000000..a12cde775d --- /dev/null +++ b/none/tests/timestamp.vgtest @@ -0,0 +1,3 @@ +prog: timestamp +vgopts: --time-stamp=yes +stderr_filter: filter_timestamp