From: Paul Floyd Date: Wed, 27 Mar 2024 14:53:42 +0000 (+0100) Subject: Dawrin regtest: mostly more filtering X-Git-Tag: VALGRIND_3_23_0~92 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=82addc7a9a3f6e35615024e3904d6bfec54e456f;p=thirdparty%2Fvalgrind.git Dawrin regtest: mostly more filtering 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. --- diff --git a/memcheck/tests/Makefile.am b/memcheck/tests/Makefile.am index e08c124f78..2bf96aded7 100644 --- a/memcheck/tests/Makefile.am +++ b/memcheck/tests/Makefile.am @@ -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 \ diff --git a/memcheck/tests/filter_allocs b/memcheck/tests/filter_allocs index f6fd1235da..2f3d04fac4 100755 --- a/memcheck/tests/filter_allocs +++ b/memcheck/tests/filter_allocs @@ -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 index 0000000000..dce64d4a71 --- /dev/null +++ b/memcheck/tests/filter_libc_variants @@ -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 index b58969f2fa..0000000000 --- a/memcheck/tests/memcmptest.stderr.exp2 +++ /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) - diff --git a/memcheck/tests/memcmptest.vgtest b/memcheck/tests/memcmptest.vgtest index 0509f9fad9..380519af65 100644 --- a/memcheck/tests/memcmptest.vgtest +++ b/memcheck/tests/memcmptest.vgtest @@ -1,2 +1,3 @@ prog: memcmptest vgopts: -q +stderr_filter: filter_libc_variants diff --git a/memcheck/tests/str_tester.c b/memcheck/tests/str_tester.c index 1201bbfc22..d910b69092 100644 --- a/memcheck/tests/str_tester.c +++ b/memcheck/tests/str_tester.c @@ -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