From: Paul Floyd Date: Wed, 17 Sep 2025 18:05:09 +0000 (+0200) Subject: FreeBSD regtest: clean up none auxv test X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=9abd7285af899e8be9d6ea4f600f8343dfe7c86b;p=thirdparty%2Fvalgrind.git FreeBSD regtest: clean up none auxv test I got fed up with this changing all the time, needing endless expecteds for x86, amd65, arm64, and each FreeBSD version So now I'm generating the expected on the fly, doing the same auxv filtering as previously plus swapping unsupported AT_ values with AT_IGNORE / number 01. The awk script will still need occasional maintenance but it should be less frequent. --- diff --git a/none/tests/freebsd/Makefile.am b/none/tests/freebsd/Makefile.am index 66ef0c47ca..2353865276 100644 --- a/none/tests/freebsd/Makefile.am +++ b/none/tests/freebsd/Makefile.am @@ -1,19 +1,12 @@ include $(top_srcdir)/Makefile.tool-tests.am -dist_noinst_SCRIPTS = filter_stderr test.sh filter_452274 filter_auxv filter_fdleak auxv_script +dist_noinst_SCRIPTS = filter_stderr test.sh filter_452274 filter_auxv \ + filter_pre_auxv filter_fdleak auxv_script EXTRA_DIST = \ auxv.vgtest \ - auxv.stderr.exp \ - auxv.stderr.exp-32on64 \ - auxv.stderr.exp-freebsd13 \ - auxv.stderr.exp-freebsd131 \ - auxv.stderr.exp-freebsd14 \ - auxv.stderr.exp-arm64 \ auxv_script.vgtest \ - auxv_script.stderr.exp \ - auxv_script.stderr.exp-arm64 \ bug452274.vgtest \ bug452274.stderr.exp \ bug498317.vgtest bug498317.stderr.exp \ diff --git a/none/tests/freebsd/auxv.stderr.exp b/none/tests/freebsd/auxv.stderr.exp deleted file mode 100644 index e106f06af8..0000000000 --- a/none/tests/freebsd/auxv.stderr.exp +++ /dev/null @@ -1,18 +0,0 @@ -val: AT_PHDR int: 03 ptr: 0x........ -val: AT_PHENT int: 04 ptr: 0x........ -val: AT_PHNUM int: 05 ptr: 0x........ -val: AT_PAGESZ int: 06 ptr: 0x........ -val: AT_FLAGS int: 08 ptr: 0x........ -val: AT_ENTRY int: 09 ptr: 0x........ -val: AT_BASE int: 07 ptr: 0x........ -val: AT_EHDRFLAGS int: 24 ptr: 0x........ -val: AT_EXECPATH int: 15 ptr: 0x........ -EXECPATH: BASEDIR/valgrind/none/tests/freebsd/auxv -val: AT_OSRELDATE int: 18 ptr: 0x........ -val: AT_CANARY int: 16 ptr: 0x........ -val: AT_CANARYLEN int: 17 ptr: 0x........ -val: AT_NCPUS int: 19 ptr: 0x........ -val: AT_PAGESIZES int: 20 ptr: 0x........ -val: AT_PAGESIZESLEN int: 21 ptr: 0x........ -val: AT_IGNORE int: 01 ptr: 0x........ -val: AT_STACKPROT int: 23 ptr: 0x........ diff --git a/none/tests/freebsd/auxv.stderr.exp-32on64 b/none/tests/freebsd/auxv.stderr.exp-32on64 deleted file mode 100644 index db7060abce..0000000000 --- a/none/tests/freebsd/auxv.stderr.exp-32on64 +++ /dev/null @@ -1,28 +0,0 @@ -val: AT_PHDR int: 03 ptr: 0x........ -val: AT_PHENT int: 04 ptr: 0x........ -val: AT_PHNUM int: 05 ptr: 0x........ -val: AT_PAGESZ int: 06 ptr: 0x........ -val: AT_FLAGS int: 08 ptr: 0x........ -val: AT_ENTRY int: 09 ptr: 0x........ -val: AT_BASE int: 07 ptr: 0x........ -val: AT_EHDRFLAGS int: 24 ptr: 0x........ -val: AT_EXECPATH int: 15 ptr: 0x........ -EXECPATH: BASEDIR/valgrind/none/tests/freebsd/auxv -val: AT_OSRELDATE int: 18 ptr: 0x........ -val: AT_CANARY int: 16 ptr: 0x........ -val: AT_CANARYLEN int: 17 ptr: 0x........ -val: AT_NCPUS int: 19 ptr: 0x........ -val: AT_PAGESIZES int: 20 ptr: 0x........ -val: AT_PAGESIZESLEN int: 21 ptr: 0x........ -val: AT_IGNORE int: 01 ptr: 0x........ -val: AT_STACKPROT int: 23 ptr: 0x........ -val: AT_IGNORE int: 01 ptr: 0x........ -val: AT_ARGC int: 28 ptr: 0x........ -val: AT_ARGV int: 29 ptr: 0x........ -ARGV: ./auxv -val: AT_ENVC int: 30 ptr: 0x........ -val: AT_ENVV int: 31 ptr: 0x........ -val: AT_PS_STRINGS int: 32 ptr: 0x........ -PS_STRINGS ARGV: ./auxv -val: AT_USRSTACKBASE int: 35 ptr: 0x........ -val: AT_USRSTACKLIM int: 36 ptr: 0x........ diff --git a/none/tests/freebsd/auxv.stderr.exp-arm64 b/none/tests/freebsd/auxv.stderr.exp-arm64 deleted file mode 100644 index 738a284dcb..0000000000 --- a/none/tests/freebsd/auxv.stderr.exp-arm64 +++ /dev/null @@ -1,30 +0,0 @@ -val: AT_PHDR int: 03 ptr: 0x........ -val: AT_PHENT int: 04 ptr: 0x........ -val: AT_PHNUM int: 05 ptr: 0x........ -val: AT_PAGESZ int: 06 ptr: 0x........ -val: AT_FLAGS int: 08 ptr: 0x........ -val: AT_ENTRY int: 09 ptr: 0x........ -val: AT_BASE int: 07 ptr: 0x........ -val: AT_EHDRFLAGS int: 24 ptr: 0x........ -val: AT_EXECPATH int: 15 ptr: 0x........ -EXECPATH: BASEDIR/valgrind/none/tests/freebsd/auxv -val: AT_OSRELDATE int: 18 ptr: 0x........ -val: AT_CANARY int: 16 ptr: 0x........ -val: AT_CANARYLEN int: 17 ptr: 0x........ -val: AT_NCPUS int: 19 ptr: 0x........ -val: AT_PAGESIZES int: 20 ptr: 0x........ -val: AT_PAGESIZESLEN int: 21 ptr: 0x........ -val: AT_IGNORE int: 01 ptr: 0x........ -val: AT_STACKPROT int: 23 ptr: 0x........ -val: AT_HWCAP int: 25 ptr: 0x........ -val: AT_IGNORE int: 01 ptr: 0x........ -val: AT_IGNORE int: 01 ptr: 0x........ -val: AT_ARGC int: 28 ptr: 0x........ -val: AT_ARGV int: 29 ptr: 0x........ -ARGV: ./auxv -val: AT_ENVC int: 30 ptr: 0x........ -val: AT_ENVV int: 31 ptr: 0x........ -val: AT_PS_STRINGS int: 32 ptr: 0x........ -PS_STRINGS ARGV: ./auxv -val: AT_USRSTACKBASE int: 35 ptr: 0x........ -val: AT_USRSTACKLIM int: 36 ptr: 0x........ diff --git a/none/tests/freebsd/auxv.stderr.exp-freebsd13 b/none/tests/freebsd/auxv.stderr.exp-freebsd13 deleted file mode 100644 index 1740ed9b47..0000000000 --- a/none/tests/freebsd/auxv.stderr.exp-freebsd13 +++ /dev/null @@ -1,26 +0,0 @@ -val: AT_PHDR int: 03 ptr: 0x........ -val: AT_PHENT int: 04 ptr: 0x........ -val: AT_PHNUM int: 05 ptr: 0x........ -val: AT_PAGESZ int: 06 ptr: 0x........ -val: AT_FLAGS int: 08 ptr: 0x........ -val: AT_ENTRY int: 09 ptr: 0x........ -val: AT_BASE int: 07 ptr: 0x........ -val: AT_EHDRFLAGS int: 24 ptr: 0x........ -val: AT_EXECPATH int: 15 ptr: 0x........ -EXECPATH: BASEDIR/valgrind/none/tests/freebsd/auxv -val: AT_OSRELDATE int: 18 ptr: 0x........ -val: AT_CANARY int: 16 ptr: 0x........ -val: AT_CANARYLEN int: 17 ptr: 0x........ -val: AT_NCPUS int: 19 ptr: 0x........ -val: AT_PAGESIZES int: 20 ptr: 0x........ -val: AT_PAGESIZESLEN int: 21 ptr: 0x........ -val: AT_IGNORE int: 01 ptr: 0x........ -val: AT_STACKPROT int: 23 ptr: 0x........ -val: AT_IGNORE int: 01 ptr: 0x........ -val: AT_ARGC int: 28 ptr: 0x........ -val: AT_ARGV int: 29 ptr: 0x........ -ARGV: ./auxv -val: AT_ENVC int: 30 ptr: 0x........ -val: AT_ENVV int: 31 ptr: 0x........ -val: AT_PS_STRINGS int: 32 ptr: 0x........ -PS_STRINGS ARGV: ./auxv diff --git a/none/tests/freebsd/auxv.stderr.exp-freebsd131 b/none/tests/freebsd/auxv.stderr.exp-freebsd131 deleted file mode 100644 index 7010bfa9c6..0000000000 --- a/none/tests/freebsd/auxv.stderr.exp-freebsd131 +++ /dev/null @@ -1,27 +0,0 @@ -val: AT_PHDR int: 03 ptr: 0x........ -val: AT_PHENT int: 04 ptr: 0x........ -val: AT_PHNUM int: 05 ptr: 0x........ -val: AT_PAGESZ int: 06 ptr: 0x........ -val: AT_FLAGS int: 08 ptr: 0x........ -val: AT_ENTRY int: 09 ptr: 0x........ -val: AT_BASE int: 07 ptr: 0x........ -val: AT_EHDRFLAGS int: 24 ptr: 0x........ -val: AT_EXECPATH int: 15 ptr: 0x........ -EXECPATH: BASEDIR/valgrind/none/tests/freebsd/auxv -val: AT_OSRELDATE int: 18 ptr: 0x........ -val: AT_CANARY int: 16 ptr: 0x........ -val: AT_CANARYLEN int: 17 ptr: 0x........ -val: AT_NCPUS int: 19 ptr: 0x........ -val: AT_PAGESIZES int: 20 ptr: 0x........ -val: AT_PAGESIZESLEN int: 21 ptr: 0x........ -val: AT_IGNORE int: 01 ptr: 0x........ -val: AT_STACKPROT int: 23 ptr: 0x........ -val: AT_IGNORE int: 01 ptr: 0x........ -val: AT_ARGC int: 28 ptr: 0x........ -val: AT_ARGV int: 29 ptr: 0x........ -ARGV: ./auxv -val: AT_ENVC int: 30 ptr: 0x........ -val: AT_ENVV int: 31 ptr: 0x........ -val: AT_PS_STRINGS int: 32 ptr: 0x........ -PS_STRINGS ARGV: ./auxv -val: AT_IGNORE int: 01 ptr: 0x........ diff --git a/none/tests/freebsd/auxv.stderr.exp-freebsd14 b/none/tests/freebsd/auxv.stderr.exp-freebsd14 deleted file mode 100644 index dcca09f63c..0000000000 --- a/none/tests/freebsd/auxv.stderr.exp-freebsd14 +++ /dev/null @@ -1,29 +0,0 @@ -val: AT_PHDR int: 03 ptr: 0x........ -val: AT_PHENT int: 04 ptr: 0x........ -val: AT_PHNUM int: 05 ptr: 0x........ -val: AT_PAGESZ int: 06 ptr: 0x........ -val: AT_FLAGS int: 08 ptr: 0x........ -val: AT_ENTRY int: 09 ptr: 0x........ -val: AT_BASE int: 07 ptr: 0x........ -val: AT_EHDRFLAGS int: 24 ptr: 0x........ -val: AT_EXECPATH int: 15 ptr: 0x........ -EXECPATH: BASEDIR/valgrind/none/tests/freebsd/auxv -val: AT_OSRELDATE int: 18 ptr: 0x........ -val: AT_CANARY int: 16 ptr: 0x........ -val: AT_CANARYLEN int: 17 ptr: 0x........ -val: AT_NCPUS int: 19 ptr: 0x........ -val: AT_PAGESIZES int: 20 ptr: 0x........ -val: AT_PAGESIZESLEN int: 21 ptr: 0x........ -val: AT_IGNORE int: 01 ptr: 0x........ -val: AT_STACKPROT int: 23 ptr: 0x........ -val: AT_IGNORE int: 01 ptr: 0x........ -val: AT_ARGC int: 28 ptr: 0x........ -val: AT_ARGV int: 29 ptr: 0x........ -ARGV: ./auxv -val: AT_ENVC int: 30 ptr: 0x........ -val: AT_ENVV int: 31 ptr: 0x........ -val: AT_PS_STRINGS int: 32 ptr: 0x........ -PS_STRINGS ARGV: ./auxv -val: AT_IGNORE int: 01 ptr: 0x........ -val: AT_USRSTACKBASE int: 35 ptr: 0x........ -val: AT_USRSTACKLIM int: 36 ptr: 0x........ diff --git a/none/tests/freebsd/auxv.vgtest b/none/tests/freebsd/auxv.vgtest index 098f301342..a2643a0796 100644 --- a/none/tests/freebsd/auxv.vgtest +++ b/none/tests/freebsd/auxv.vgtest @@ -1,4 +1,6 @@ +prereq: ./auxv 2>&1 | ./filter_pre_auxv > auxv.stderr.exp prog: auxv vgopts: -q stderr_filter: filter_auxv +post: rm auxv.stderr.exp diff --git a/none/tests/freebsd/auxv_script.stderr.exp b/none/tests/freebsd/auxv_script.stderr.exp deleted file mode 100644 index dcca09f63c..0000000000 --- a/none/tests/freebsd/auxv_script.stderr.exp +++ /dev/null @@ -1,29 +0,0 @@ -val: AT_PHDR int: 03 ptr: 0x........ -val: AT_PHENT int: 04 ptr: 0x........ -val: AT_PHNUM int: 05 ptr: 0x........ -val: AT_PAGESZ int: 06 ptr: 0x........ -val: AT_FLAGS int: 08 ptr: 0x........ -val: AT_ENTRY int: 09 ptr: 0x........ -val: AT_BASE int: 07 ptr: 0x........ -val: AT_EHDRFLAGS int: 24 ptr: 0x........ -val: AT_EXECPATH int: 15 ptr: 0x........ -EXECPATH: BASEDIR/valgrind/none/tests/freebsd/auxv -val: AT_OSRELDATE int: 18 ptr: 0x........ -val: AT_CANARY int: 16 ptr: 0x........ -val: AT_CANARYLEN int: 17 ptr: 0x........ -val: AT_NCPUS int: 19 ptr: 0x........ -val: AT_PAGESIZES int: 20 ptr: 0x........ -val: AT_PAGESIZESLEN int: 21 ptr: 0x........ -val: AT_IGNORE int: 01 ptr: 0x........ -val: AT_STACKPROT int: 23 ptr: 0x........ -val: AT_IGNORE int: 01 ptr: 0x........ -val: AT_ARGC int: 28 ptr: 0x........ -val: AT_ARGV int: 29 ptr: 0x........ -ARGV: ./auxv -val: AT_ENVC int: 30 ptr: 0x........ -val: AT_ENVV int: 31 ptr: 0x........ -val: AT_PS_STRINGS int: 32 ptr: 0x........ -PS_STRINGS ARGV: ./auxv -val: AT_IGNORE int: 01 ptr: 0x........ -val: AT_USRSTACKBASE int: 35 ptr: 0x........ -val: AT_USRSTACKLIM int: 36 ptr: 0x........ diff --git a/none/tests/freebsd/auxv_script.stderr.exp-arm64 b/none/tests/freebsd/auxv_script.stderr.exp-arm64 deleted file mode 100644 index 738a284dcb..0000000000 --- a/none/tests/freebsd/auxv_script.stderr.exp-arm64 +++ /dev/null @@ -1,30 +0,0 @@ -val: AT_PHDR int: 03 ptr: 0x........ -val: AT_PHENT int: 04 ptr: 0x........ -val: AT_PHNUM int: 05 ptr: 0x........ -val: AT_PAGESZ int: 06 ptr: 0x........ -val: AT_FLAGS int: 08 ptr: 0x........ -val: AT_ENTRY int: 09 ptr: 0x........ -val: AT_BASE int: 07 ptr: 0x........ -val: AT_EHDRFLAGS int: 24 ptr: 0x........ -val: AT_EXECPATH int: 15 ptr: 0x........ -EXECPATH: BASEDIR/valgrind/none/tests/freebsd/auxv -val: AT_OSRELDATE int: 18 ptr: 0x........ -val: AT_CANARY int: 16 ptr: 0x........ -val: AT_CANARYLEN int: 17 ptr: 0x........ -val: AT_NCPUS int: 19 ptr: 0x........ -val: AT_PAGESIZES int: 20 ptr: 0x........ -val: AT_PAGESIZESLEN int: 21 ptr: 0x........ -val: AT_IGNORE int: 01 ptr: 0x........ -val: AT_STACKPROT int: 23 ptr: 0x........ -val: AT_HWCAP int: 25 ptr: 0x........ -val: AT_IGNORE int: 01 ptr: 0x........ -val: AT_IGNORE int: 01 ptr: 0x........ -val: AT_ARGC int: 28 ptr: 0x........ -val: AT_ARGV int: 29 ptr: 0x........ -ARGV: ./auxv -val: AT_ENVC int: 30 ptr: 0x........ -val: AT_ENVV int: 31 ptr: 0x........ -val: AT_PS_STRINGS int: 32 ptr: 0x........ -PS_STRINGS ARGV: ./auxv -val: AT_USRSTACKBASE int: 35 ptr: 0x........ -val: AT_USRSTACKLIM int: 36 ptr: 0x........ diff --git a/none/tests/freebsd/auxv_script.vgtest b/none/tests/freebsd/auxv_script.vgtest index ccd450a9a2..b2afe075e8 100644 --- a/none/tests/freebsd/auxv_script.vgtest +++ b/none/tests/freebsd/auxv_script.vgtest @@ -1,4 +1,6 @@ +prereq: ./auxv_script 2>&1 | ./filter_pre_auxv > auxv_script.stderr.exp prog: auxv_script vgopts: -q stderr_filter: filter_auxv +post: rm auxv_script.stderr.exp diff --git a/none/tests/freebsd/filter_pre_auxv b/none/tests/freebsd/filter_pre_auxv new file mode 100755 index 0000000000..37c63683a3 --- /dev/null +++ b/none/tests/freebsd/filter_pre_auxv @@ -0,0 +1,12 @@ +#!/bin/sh + +# filters all auxv values that are not supported by Valgrind + +./filter_auxv | + +awk '/AT_TIMEKEEP/{$2="AT_IGNORE";$4="01"}{print}' | +awk '/AT_HWCAP2/{$2="AT_IGNORE";$4="01"}{print}' | +awk '/AT_HWCAP3/{$2="AT_IGNORE";$4="01"}{print}' | +awk '/AT_HWCAP4/{$2="AT_IGNORE";$4="01"}{print}' | +awk '/AT_BSDFLAGS/{$2="AT_IGNORE";$4="01"}{print}' | +awk '/AT_KPRELOAD/{$2="AT_IGNORE";$4="01"}{print}'