[PATCH v4] strace-tst-thp.sh: Allow unsupported THP tests
"H.J. Lu" <[email protected]>
| Newsgroups | gmane.comp.lib.glibc.alpha |
|---|---|
| Message-ID | <CAMe9rOrz66jPjDKRORCBuQ66o2Yg09D4H5XdNyqNX7J+qPbUtg@mail.gmail.com> |
Change strace-tst-thp.sh to
output=${test_prog}.$$
...
/bin/sh -c \
"timeout -k 4 $((3*$TIMEOUTFACTOR)) ${cmd} --direct 2>&1" > ${output}
if grep -E "madvise\(0x[0-9a-f]+, [0-9]+, 0xe)" ${output}; then
...
and use $(BASH) to run it so that unsupported THP tests exit with
status 77.
--
H.J.
v4-0001-strace-tst-thp.sh-Allow-unsupported-THP-tests.patch
(text/x-patch, 5.8 KB)
From 171385b2842da83f12043183a88ed4e2749ca38c Mon Sep 17 00:00:00 2001 From: "H.J. Lu" <[email protected]> Date: Sat, 4 Jul 2026 11:06:21 +0800 Subject: [PATCH v4] strace-tst-thp.sh: Allow unsupported THP tests Change strace-tst-thp.sh to output=${test_prog}.$$ ... /bin/sh -c \ "timeout -k 4 $((3*$TIMEOUTFACTOR)) ${cmd} --direct 2>&1" > ${output} if grep -E "madvise\(0x[0-9a-f]+, [0-9]+, 0xe)" ${output}; then ... and use $(BASH) to run it so that unsupported THP tests exit with status 77. Signed-off-by: H.J. Lu <[email protected]> --- sysdeps/unix/sysv/linux/Makefile | 18 +++++++++--------- sysdeps/unix/sysv/linux/strace-tst-thp.sh | 21 +++++++++++++-------- 2 files changed, 22 insertions(+), 17 deletions(-) diff --git a/sysdeps/unix/sysv/linux/Makefile b/sysdeps/unix/sysv/linux/Makefile index 14a56d5cc3..563a85aaa0 100644 --- a/sysdeps/unix/sysv/linux/Makefile +++ b/sysdeps/unix/sysv/linux/Makefile @@ -842,7 +842,7 @@ endif $(objpfx)strace-tst-thp-1-enabled.out: \ $(..)sysdeps/unix/sysv/linux/strace-tst-thp.sh $(objpfx)ld.so \ $(objpfx)tst-thp-1 - $(SHELL) $< '$(strace-test-via-rtld-prefix)' \ + $(BASH) $< '$(strace-test-via-rtld-prefix)' \ '$(test-wrapper-env)' \ '$(run-program-env) GLIBC_TUNABLES=glibc.elf.thp=1' \ $(objpfx)tst-thp-1 > $@; \ @@ -851,7 +851,7 @@ $(objpfx)strace-tst-thp-1-enabled.out: \ $(objpfx)strace-tst-thp-1-disabled.out: \ $(..)sysdeps/unix/sysv/linux/strace-tst-thp.sh $(objpfx)ld.so \ $(objpfx)tst-thp-1 - $(SHELL) $< '$(strace-test-via-rtld-prefix)' \ + $(BASH) $< '$(strace-test-via-rtld-prefix)' \ '$(test-wrapper-env)' \ '$(run-program-env) GLIBC_TUNABLES=glibc.elf.thp=0' \ $(objpfx)tst-thp-1 > $@; \ @@ -860,7 +860,7 @@ $(objpfx)strace-tst-thp-1-disabled.out: \ $(objpfx)strace-tst-thp-1-pde-enabled.out: \ $(..)sysdeps/unix/sysv/linux/strace-tst-thp.sh $(objpfx)ld.so \ $(objpfx)tst-thp-1-pde - $(SHELL) $< '$(strace-test-via-rtld-prefix)' \ + $(BASH) $< '$(strace-test-via-rtld-prefix)' \ '$(test-wrapper-env)' \ '$(run-program-env) GLIBC_TUNABLES=glibc.elf.thp=1' \ $(objpfx)tst-thp-1-pde > $@; \ @@ -869,7 +869,7 @@ $(objpfx)strace-tst-thp-1-pde-enabled.out: \ $(objpfx)strace-tst-thp-1-pde-disabled.out: \ $(..)sysdeps/unix/sysv/linux/strace-tst-thp.sh $(objpfx)ld.so \ $(objpfx)tst-thp-1-pde - $(SHELL) $< '$(strace-test-via-rtld-prefix)' \ + $(BASH) $< '$(strace-test-via-rtld-prefix)' \ '$(test-wrapper-env)' \ '$(run-program-env) GLIBC_TUNABLES=glibc.elf.thp=0' \ $(objpfx)tst-thp-1-pde > $@; \ @@ -878,7 +878,7 @@ $(objpfx)strace-tst-thp-1-pde-disabled.out: \ $(objpfx)strace-tst-thp-1-static-enabled.out: \ $(..)sysdeps/unix/sysv/linux/strace-tst-thp.sh \ $(objpfx)tst-thp-1-static - $(SHELL) $< '' '$(test-wrapper-env)' \ + $(BASH) $< '' '$(test-wrapper-env)' \ '$(run-program-env) GLIBC_TUNABLES=glibc.elf.thp=1' \ $(objpfx)tst-thp-1-static > $@; \ $(evaluate-test) @@ -886,7 +886,7 @@ $(objpfx)strace-tst-thp-1-static-enabled.out: \ $(objpfx)strace-tst-thp-1-static-disabled.out: \ $(..)sysdeps/unix/sysv/linux/strace-tst-thp.sh \ $(objpfx)tst-thp-1-static - $(SHELL) $< '' '$(test-wrapper-env)' \ + $(BASH) $< '' '$(test-wrapper-env)' \ '$(run-program-env) GLIBC_TUNABLES=glibc.elf.thp=0' \ $(objpfx)tst-thp-1-static > $@; \ $(evaluate-test) @@ -894,7 +894,7 @@ $(objpfx)strace-tst-thp-1-static-disabled.out: \ $(objpfx)strace-tst-thp-align-default.out: \ $(..)sysdeps/unix/sysv/linux/strace-tst-thp.sh $(objpfx)ld.so \ $(objpfx)tst-thp-align $(objpfx)tst-thp-size-mod.so - $(SHELL) $< '$(strace-test-via-rtld-prefix)' \ + $(BASH) $< '$(strace-test-via-rtld-prefix)' \ '$(test-wrapper-env)' '$(run-program-env)' \ $(objpfx)tst-thp-align > $@; \ $(evaluate-test) @@ -902,7 +902,7 @@ $(objpfx)strace-tst-thp-align-default.out: \ $(objpfx)strace-tst-thp-align-enabled.out: \ $(..)sysdeps/unix/sysv/linux/strace-tst-thp.sh $(objpfx)ld.so \ $(objpfx)tst-thp-align $(objpfx)tst-thp-size-mod.so - $(SHELL) $< '$(strace-test-via-rtld-prefix)' \ + $(BASH) $< '$(strace-test-via-rtld-prefix)' \ '$(test-wrapper-env)' \ '$(run-program-env) GLIBC_TUNABLES=glibc.elf.thp=1' \ $(objpfx)tst-thp-align > $@; \ @@ -911,7 +911,7 @@ $(objpfx)strace-tst-thp-align-enabled.out: \ $(objpfx)strace-tst-thp-align-disabled.out: \ $(..)sysdeps/unix/sysv/linux/strace-tst-thp.sh $(objpfx)ld.so \ $(objpfx)tst-thp-align $(objpfx)tst-thp-size-mod.so - $(SHELL) $< '$(strace-test-via-rtld-prefix)' \ + $(BASH) $< '$(strace-test-via-rtld-prefix)' \ '$(test-wrapper-env)' \ '$(run-program-env) GLIBC_TUNABLES=glibc.elf.thp=0' \ $(objpfx)tst-thp-align > $@; \ diff --git a/sysdeps/unix/sysv/linux/strace-tst-thp.sh b/sysdeps/unix/sysv/linux/strace-tst-thp.sh index bff7d3e7a0..188043acb5 100644 --- a/sysdeps/unix/sysv/linux/strace-tst-thp.sh +++ b/sysdeps/unix/sysv/linux/strace-tst-thp.sh @@ -17,12 +17,15 @@ # License along with the GNU C Library; if not, see # <https://www.gnu.org/licenses/>. -set -e +set -eE rtld="$1" test_wrapper_env="$2" run_program_env="$3" test_prog="$4" +output=${test_prog}.$$ + +trap "rm -f ${output}" ERR cmd="${test_wrapper_env} ${run_program_env} strace -X raw ${rtld} ${test_prog}" @@ -45,18 +48,20 @@ esac # Finally the actual test inside the test environment, using the just # build ld.so and new libraries to run the THP test under strace. -if /bin/sh -c \ - "timeout -k 4 $((3*$TIMEOUTFACTOR)) ${cmd} --direct 2>&1 \ - | grep -E \"madvise\(0x[0-9a-f]+, [0-9]+, 0xe)\""; then +/bin/sh -c \ + "timeout -k 4 $((3*$TIMEOUTFACTOR)) ${cmd} --direct 2>&1" > "${output}" +if grep -E "madvise\(0x[0-9a-f]+, [0-9]+, 0xe)" "${output}"; then if test ${strace_expected} = yes; then - exit 0 + status=0 else - exit 1 + status=1 fi else if test ${strace_expected} = no; then - exit 0 + status=0 else - exit 1 + status=1 fi fi +rm -f ${output} +exit ${status} -- 2.55.0