]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
FreeBSD regtest: use a filter to make eventfd2 consistent
authorPaul Floyd <pjfloyd@wanadoo.fr>
Sat, 26 Aug 2023 10:57:34 +0000 (12:57 +0200)
committerPaul Floyd <pjfloyd@wanadoo.fr>
Sat, 26 Aug 2023 10:57:34 +0000 (12:57 +0200)
memcheck/tests/freebsd/Makefile.am
memcheck/tests/freebsd/eventfd2.c
memcheck/tests/freebsd/eventfd2.stderr.exp
memcheck/tests/freebsd/eventfd2.stdout.exp [deleted file]
memcheck/tests/freebsd/eventfd2.vgtest
memcheck/tests/freebsd/filter_eventfd2 [new file with mode: 0755]

index 722cc5d51e6e24aee9a51ffce6f7805fdaa93b63..b936629b842bc0ff1932c767bb6bf4b5faf29cb0 100644 (file)
@@ -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 \
index d620907c9da35068a93565747bb1ec027d8324ac..18dfff332f0376db48b11728ef52742f24e77d13 100644 (file)
@@ -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);
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..ce32ce5c92c67a0c40aded5f1b373e74dcae9df0 100644 (file)
@@ -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 (file)
index 00ecdca..0000000
+++ /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
index 7dd3ad1ea82eb95e796d9b1663ef5c76afdf8b73..f873b08f774cff2e07e98a0edc14da59a26cf026 100644 (file)
@@ -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 (executable)
index 0000000..05cd260
--- /dev/null
@@ -0,0 +1,7 @@
+#! /bin/sh
+
+../filter_stderr "$@" |
+
+sort
+
+exit 0