[glibc] strace-tst-thp.sh: Allow unsupported THP tests

"H.J. Lu via Glibc-cvs" <[email protected]> Wed, 15 Jul 2026 11:28:13 +0000 (GMT)
Newsgroups gmane.comp.lib.glibc.cvs
Message-ID <[email protected]>
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=ea50bcc538f3e161dd589b4a855d80ef8a35fce8

commit ea50bcc538f3e161dd589b4a855d80ef8a35fce8
Author: H.J. Lu <[email protected]>
Date:   Fri Jul 3 10:17:20 2026 +0800

    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
    ...
    
    so that unsupported THP tests exit with status 77.
    
    Signed-off-by: H.J. Lu <[email protected]>
    Reviewed-by: Adhemerval Zanella  <[email protected]>

Diff:
---
 sysdeps/unix/sysv/linux/strace-tst-thp.sh | 18 +++++++++++-------
 1 file changed, 11 insertions(+), 7 deletions(-)

diff --git a/sysdeps/unix/sysv/linux/strace-tst-thp.sh b/sysdeps/unix/sysv/linux/strace-tst-thp.sh
index bff7d3e7a0..0ad10c3ac2 100644
--- a/sysdeps/unix/sysv/linux/strace-tst-thp.sh
+++ b/sysdeps/unix/sysv/linux/strace-tst-thp.sh
@@ -23,6 +23,9 @@ rtld="$1"
 test_wrapper_env="$2"
 run_program_env="$3"
 test_prog="$4"
+output=${test_prog}.$$
+
+trap "rm -f ${output}" EXIT
 
 cmd="${test_wrapper_env} ${run_program_env} strace -X raw ${rtld} ${test_prog}"
 
@@ -45,18 +48,19 @@ 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
+exit ${status}