From 9abd7285af899e8be9d6ea4f600f8343dfe7c86b Mon Sep 17 00:00:00 2001 From: Paul Floyd Date: Wed, 17 Sep 2025 20:05:09 +0200 Subject: [PATCH] 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. --- none/tests/freebsd/Makefile.am | 11 ++----- none/tests/freebsd/auxv.stderr.exp | 18 ----------- none/tests/freebsd/auxv.stderr.exp-32on64 | 28 ----------------- none/tests/freebsd/auxv.stderr.exp-arm64 | 30 ------------------- none/tests/freebsd/auxv.stderr.exp-freebsd13 | 26 ---------------- none/tests/freebsd/auxv.stderr.exp-freebsd131 | 27 ----------------- none/tests/freebsd/auxv.stderr.exp-freebsd14 | 29 ------------------ none/tests/freebsd/auxv.vgtest | 2 ++ none/tests/freebsd/auxv_script.stderr.exp | 29 ------------------ .../freebsd/auxv_script.stderr.exp-arm64 | 30 ------------------- none/tests/freebsd/auxv_script.vgtest | 2 ++ none/tests/freebsd/filter_pre_auxv | 12 ++++++++ 12 files changed, 18 insertions(+), 226 deletions(-) delete mode 100644 none/tests/freebsd/auxv.stderr.exp delete mode 100644 none/tests/freebsd/auxv.stderr.exp-32on64 delete mode 100644 none/tests/freebsd/auxv.stderr.exp-arm64 delete mode 100644 none/tests/freebsd/auxv.stderr.exp-freebsd13 delete mode 100644 none/tests/freebsd/auxv.stderr.exp-freebsd131 delete mode 100644 none/tests/freebsd/auxv.stderr.exp-freebsd14 delete mode 100644 none/tests/freebsd/auxv_script.stderr.exp delete mode 100644 none/tests/freebsd/auxv_script.stderr.exp-arm64 create mode 100755 none/tests/freebsd/filter_pre_auxv 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}' -- 2.47.3