]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Dawrin regtest: mostly more filtering
authorPaul Floyd <pjfloyd@wanadoo.fr>
Wed, 27 Mar 2024 14:53:42 +0000 (15:53 +0100)
committerPaul Floyd <pjfloyd@wanadoo.fr>
Wed, 27 Mar 2024 14:53:42 +0000 (15:53 +0100)
Changed str_tester to always call memcmp. Apple clang 10 seems
to evaluate some of these at compile time, and gets it wrong.
The runtime gets it right.

memcheck/tests/Makefile.am
memcheck/tests/filter_allocs
memcheck/tests/filter_libc_variants [new file with mode: 0755]
memcheck/tests/memcmptest.stderr.exp2 [deleted file]
memcheck/tests/memcmptest.vgtest
memcheck/tests/str_tester.c

index e08c124f784eb1bdd479facbec09a67a04471bf9..2bf96aded78f9618f12a34ed2d602dad68c6a50d 100644 (file)
@@ -74,6 +74,7 @@ dist_noinst_SCRIPTS = \
        filter_allocs \
        filter_leak_cases_possible \
        filter_leak_cpp_interior \
+       filter_libc_variants \
        filter_xml \
        filter_strchr \
        filter_varinfo3 \
@@ -268,7 +269,7 @@ EXTRA_DIST = \
                memalign_args.stderr.exp-solaris \
        memccpy1.stderr.exp memccpy1.stdout.exp memccpy1.vgtest \
        memccpy2.stderr.exp memccpy2.vgtest \
-       memcmptest.stderr.exp memcmptest.stderr.exp2 \
+       memcmptest.stderr.exp \
        memcmptest.stdout.exp memcmptest.vgtest \
        memmem.stderr.exp memmem.vgtest \
        mempool.stderr.exp mempool.vgtest \
index f6fd1235da86a23827275ee2f087661d11aac635..2f3d04fac4148db371cfe3996d1dba43d9c42d18 100755 (executable)
@@ -2,5 +2,6 @@
 
 ./filter_stderr "$@" |
 sed -e "s/in use at exit: [0-9,]* bytes in [0-9,]* blocks/in use at exit: ... bytes in ... blocks/" \
-    -e  "s/total heap usage: [0-9,]* allocs, [0-9,]* frees, [0-9,]* bytes allocated/total heap usage: ... allocs, ... frees, ... bytes allocated/"
+    -e  "s/total heap usage: [0-9,]* allocs, [0-9,]* frees, [0-9,]* bytes allocated/total heap usage: ... allocs, ... frees, ... bytes allocated/" \
+    -e "s/suppressed: .*blocks/suppressed: 0 bytes in 0 blocks/"
 
diff --git a/memcheck/tests/filter_libc_variants b/memcheck/tests/filter_libc_variants
new file mode 100755 (executable)
index 0000000..dce64d4
--- /dev/null
@@ -0,0 +1,5 @@
+#! /bin/sh
+
+./filter_stderr "$@" |
+
+sed 's/ _platform_memcmp / memcmp /;s/ bcmp / memcmp /'
diff --git a/memcheck/tests/memcmptest.stderr.exp2 b/memcheck/tests/memcmptest.stderr.exp2
deleted file mode 100644 (file)
index b58969f..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Conditional jump or move depends on uninitialised value(s)
-   at 0x........: bcmp (vg_replace_strmem.c:...)
-   by 0x........: main (memcmptest.c:13)
-
index 0509f9fad968b2bc99214d79a21ef6978a825489..380519af65f1a6ac7929ae00ee4097013819da7b 100644 (file)
@@ -1,2 +1,3 @@
 prog: memcmptest
 vgopts: -q
+stderr_filter: filter_libc_variants
index 1201bbfc225b27d3364d3e8c65f7f3589ca91cab..d910b69092703ceb4920e125f9fd5a9e19af3e98 100644 (file)
@@ -979,14 +979,14 @@ static void
 test_memcmp (void)
 {
   it = "memcmp";
-  check(memcmp("a", "a", 1) == 0, 1);          /* Identity. */
-  check(memcmp("abc", "abc", 3) == 0, 2);      /* Multicharacter. */
-  check(memcmp("abcd", "abce", 4) < 0, 3);     /* Honestly unequal. */
-  check(memcmp("abce", "abcd", 4) > 0, 4);
-  check(memcmp("alph", "beta", 4) < 0, 5);
-  check(memcmp("a\203", "a\003", 2) > 0, 6);
-  check(memcmp("abce", "abcd", 3) == 0, 7);    /* Count limited. */
-  check(memcmp("abc", "def", 0) == 0, 8);      /* Zero count. */
+  check((memcmp)("a", "a", 1) == 0, 1);                /* Identity. */
+  check((memcmp)("abc", "abc", 3) == 0, 2);    /* Multicharacter. */
+  check((memcmp)("abcd", "abce", 4) < 0, 3);   /* Honestly unequal. */
+  check((memcmp)("abce", "abcd", 4) > 0, 4);
+  check((memcmp)("alph", "beta", 4) < 0, 5);
+  check((memcmp)("a\203", "a\003", 2) > 0, 6);
+  check((memcmp)("abce", "abcd", 3) == 0, 7);  /* Count limited. */
+  check((memcmp)("abc", "def", 0) == 0, 8);    /* Zero count. */
 }
 
 static void