strace-tst-thp.sh: Allow unsupported THP tests

Message ID 20260704030621.1077716-1-hjl.tools@gmail.com (mailing list archive)
State New
Headers
Series strace-tst-thp.sh: Allow unsupported THP tests |

Checks

Context Check Description
redhat-pt-bot/TryBot-32bit success Build for i686

Commit Message

H.J. Lu July 4, 2026, 3:06 a.m. UTC
  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 <hjl.tools@gmail.com>
---
 sysdeps/unix/sysv/linux/strace-tst-thp.sh | 21 +++++++++++++--------
 1 file changed, 13 insertions(+), 8 deletions(-)
  

Patch

diff --git a/sysdeps/unix/sysv/linux/strace-tst-thp.sh b/sysdeps/unix/sysv/linux/strace-tst-thp.sh
index bff7d3e7a0..7a3c0e1e33 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}