[LTP] [PATCH] tst_test.sh: Replace GNU word boundary \b with \< in grep

Wake Liu wakel@google.com
Tue Jun 30 09:16:39 CEST 2026


From: Terence Tritton <ttritton@google.com>

The regex word boundary extension '\b' is a GNU extension and is not
supported by Toybox and lightweight POSIX regex implementations
(such as Bionic libc), causing grep to fail with:

    grep: bad regex '^[^#]*\bTST_': trailing backslash (\)

Replace '\b' with '\<' to ensure shell tests run correctly on
lightweight environments such as Android (Toybox).

Signed-off-by: Terence Tritton <ttritton@google.com>
Co-developed-by: Wake Liu <wakel@google.com>
Signed-off-by: Wake Liu <wakel@google.com>
---
 testcases/lib/tst_test.sh | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/testcases/lib/tst_test.sh b/testcases/lib/tst_test.sh
index 1234567..89abcdef 100644
--- a/testcases/lib/tst_test.sh
+++ b/testcases/lib/tst_test.sh
@@ -679,7 +679,7 @@ tst_run()
 	local ret

 	if [ -n "$TST_TEST_PATH" ]; then
-		for _tst_i in $(grep '^[^#]*\bTST_' "$TST_TEST_PATH" | sed "s/.*TST_//; s/$_tst_pattern//"); do
+		for _tst_i in $(grep '^[^#]*\<TST_' "$TST_TEST_PATH" | sed "s/.*TST_//; s/$_tst_pattern//"); do
 			case "$_tst_i" in
 			ALL_FILESYSTEMS|DISABLE_APPARMOR|DISABLE_SELINUX);;
 			SETUP|CLEANUP|TESTFUNC|ID|CNT|MIN_KVER);;
@@ -701,7 +701,7 @@ tst_run()
 			esac
 		done

-		for _tst_i in $(grep '^[^#]*\b_tst_' "$TST_TEST_PATH" | sed "s/.*_tst_//; s/$_tst_pattern//"); do
+		for _tst_i in $(grep '^[^#]*\<_tst_' "$TST_TEST_PATH" | sed "s/.*_tst_//; s/$_tst_pattern//"); do
 			tst_res TWARN "Private variable or function _tst_$_tst_i used!"
 		done
 	fi
-- 
2.45.2


More information about the ltp mailing list