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
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
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:
--- /dev/null
+#! /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/"
+
--- /dev/null
+#include <stdlib.h>
+#include <unistd.h>
+
+int main(void)
+{
+ int y = 0;
+ int* x = calloc(1,sizeof(int));
+ free(x);
+
+ y += x[0];
+ sleep(1);
+ y += x[0];
+
+ return y;
+}
--- /dev/null
+00:00:00:XX:YYY
+00:00:00:XX:YYY
--- /dev/null
+prog: timestamp
+vgopts: --time-stamp=yes
+stderr_filter: filter_timestamp