From: Paul Floyd Date: Sat, 26 Aug 2023 10:57:34 +0000 (+0200) Subject: FreeBSD regtest: use a filter to make eventfd2 consistent X-Git-Tag: VALGRIND_3_22_0~114 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1377d1d58fb4912d86a1033c33f62a37b0af308b;p=thirdparty%2Fvalgrind.git FreeBSD regtest: use a filter to make eventfd2 consistent --- diff --git a/memcheck/tests/freebsd/Makefile.am b/memcheck/tests/freebsd/Makefile.am index 722cc5d51e..b936629b84 100644 --- a/memcheck/tests/freebsd/Makefile.am +++ b/memcheck/tests/freebsd/Makefile.am @@ -2,7 +2,7 @@ include $(top_srcdir)/Makefile.tool-tests.am dist_noinst_SCRIPTS = filter_stderr filter_pts dump_stdout filter_sigwait \ - filter_scalar filter_realpathat filter_fstat + filter_scalar filter_realpathat filter_fstat filter_eventfd2 EXTRA_DIST = \ scalar.h \ @@ -79,7 +79,7 @@ EXTRA_DIST = \ eventfd1.vgtest \ eventfd1.stderr.exp eventfd1.stdout.exp \ eventfd2.vgtest \ - eventfd2.stderr.exp eventfd2.stdout.exp \ + eventfd2.stderr.exp \ errno_aligned_allocs.vgtest \ errno_aligned_allocs.stderr.exp \ setproctitle.vgtest \ diff --git a/memcheck/tests/freebsd/eventfd2.c b/memcheck/tests/freebsd/eventfd2.c index d620907c9d..18dfff332f 100644 --- a/memcheck/tests/freebsd/eventfd2.c +++ b/memcheck/tests/freebsd/eventfd2.c @@ -16,9 +16,8 @@ static void xsem_wait(int fd) exit(1); } - fprintf(stdout, "wait completed on %d: count=%" PRIu64 "\n", + fprintf(stderr, "fd %d wait completed: count=%" PRIu64 "\n", fd, cntr); - fflush(stdout); } static void xsem_post(int fd, int count) @@ -38,28 +37,22 @@ static void sem_player(int fd1, int fd2) * not good for regresson tests * (also xsem_wait above) */ - fprintf(stdout, "posting 1 on %d\n", fd1); - fflush(stdout); + fprintf(stderr, "fd %d posting 1\n", fd1); xsem_post(fd1, 1); - fprintf(stdout, "waiting on %d\n", fd2); - fflush(stdout); + fprintf(stderr, "fd %d waiting\n", fd2); xsem_wait(fd2); - fprintf(stdout, "posting 1 on %d\n", fd1); - fflush(stdout); + fprintf(stderr, "fd %d posting 1\n", fd1); xsem_post(fd1, 1); - fprintf(stdout, "waiting on %d\n", fd2); - fflush(stdout); + fprintf(stderr, "fd %d waiting\n", fd2); xsem_wait(fd2); - fprintf(stdout, "posting 5 on %d\n", fd1); - fflush(stdout); + fprintf(stderr, "fd %d posting 5\n", fd1); xsem_post(fd1, 5); - fprintf(stdout, "waiting 5 times on %d\n", fd2); - fflush(stdout); + fprintf(stderr, "fd %d waiting 5 times\n", fd2); xsem_wait(fd2); xsem_wait(fd2); xsem_wait(fd2); diff --git a/memcheck/tests/freebsd/eventfd2.stderr.exp b/memcheck/tests/freebsd/eventfd2.stderr.exp index e69de29bb2..ce32ce5c92 100644 --- a/memcheck/tests/freebsd/eventfd2.stderr.exp +++ b/memcheck/tests/freebsd/eventfd2.stderr.exp @@ -0,0 +1,26 @@ +fd 3 posting 1 +fd 3 posting 1 +fd 3 posting 5 +fd 3 wait completed: count=1 +fd 3 wait completed: count=1 +fd 3 wait completed: count=1 +fd 3 wait completed: count=1 +fd 3 wait completed: count=1 +fd 3 wait completed: count=1 +fd 3 wait completed: count=1 +fd 3 waiting +fd 3 waiting +fd 3 waiting 5 times +fd 4 posting 1 +fd 4 posting 1 +fd 4 posting 5 +fd 4 wait completed: count=1 +fd 4 wait completed: count=1 +fd 4 wait completed: count=1 +fd 4 wait completed: count=1 +fd 4 wait completed: count=1 +fd 4 wait completed: count=1 +fd 4 wait completed: count=1 +fd 4 waiting +fd 4 waiting +fd 4 waiting 5 times diff --git a/memcheck/tests/freebsd/eventfd2.stdout.exp b/memcheck/tests/freebsd/eventfd2.stdout.exp deleted file mode 100644 index 00ecdcaca7..0000000000 --- a/memcheck/tests/freebsd/eventfd2.stdout.exp +++ /dev/null @@ -1,26 +0,0 @@ -posting 1 on 3 -waiting on 4 -posting 1 on 4 -wait completed on 4: count=1 -waiting on 3 -posting 1 on 3 -waiting on 4 -wait completed on 3: count=1 -posting 1 on 4 -wait completed on 4: count=1 -waiting on 3 -wait completed on 3: count=1 -posting 5 on 3 -posting 5 on 4 -waiting 5 times on 4 -wait completed on 4: count=1 -waiting 5 times on 3 -wait completed on 4: count=1 -wait completed on 3: count=1 -wait completed on 4: count=1 -wait completed on 3: count=1 -wait completed on 4: count=1 -wait completed on 3: count=1 -wait completed on 4: count=1 -wait completed on 3: count=1 -wait completed on 3: count=1 diff --git a/memcheck/tests/freebsd/eventfd2.vgtest b/memcheck/tests/freebsd/eventfd2.vgtest index 7dd3ad1ea8..f873b08f77 100644 --- a/memcheck/tests/freebsd/eventfd2.vgtest +++ b/memcheck/tests/freebsd/eventfd2.vgtest @@ -1,3 +1,4 @@ prog: eventfd2 prereq: test -e ./eventfd2 vgopts: -q +stderr_filter: filter_eventfd2 diff --git a/memcheck/tests/freebsd/filter_eventfd2 b/memcheck/tests/freebsd/filter_eventfd2 new file mode 100755 index 0000000000..05cd260dad --- /dev/null +++ b/memcheck/tests/freebsd/filter_eventfd2 @@ -0,0 +1,7 @@ +#! /bin/sh + +../filter_stderr "$@" | + +sort + +exit 0