On 1/9/25 11:36, enh wrote:
-- test
test: too many arguments
FAIL: test =~
echo -ne '' | "/system/bin/test" abc =~ a.c && echo yes
--- expected 2025-01-09 17:00:49.136005931 +0000
+++ actual 2025-01-09 17:00:49.144005931 +0000
@@ -1 +0,0 @@
-yes

Hmmm... That's the "toyonly meets NOHELP" plumbing change, commit 58500b802905 specifically the:

--- a/scripts/runtest.sh
+++ b/scripts/runtest.sh
@@ -102,7 +102,9 @@ skipnot()
 # Skip this test (rest of command line) when not running toybox.
 toyonly()
 {
-  IS_TOYBOX="$("$C" --version 2>/dev/null)"
+  [ -z "$TEST_HOST" ] && IS_TOYBOX=toybox
+  : ${IS_TOYBOX:=$("$C" --version 2>/dev/null | grep -o toybox)} \
+    ${IS_TOYBOX:="$(basename $(readlink -f "$C"))"}
# Ideally we'd just check for "toybox", but toybox sed lies to make autoconf
   # happy, so we have at least two things to check for.

and

--- a/tests/test.test
+++ b/tests/test.test
@@ -135,11 +135,10 @@ testing "<2" 'test def \< abc || echo yes' "yes\n" "" ""
 testing ">1" 'test abc \> def || echo yes' "yes\n" "" ""
 testing ">2" 'test def \> abc && echo yes' "yes\n" "" ""

-# toyonly doesn't work with TOYFLAG_NOHELP
 # bash only has this for [[ ]] but extra tests to _exclude_ silly...
-#toyonly testcmd "=~" 'abc =~ a.c && echo yes' "yes\n" "" ""
-#toyonly testcmd "=~ fail" 'abc =~ d.c; echo $?' '1\n' "" ""
-#toyonly testcmd "=~ zero length match" 'abc =~ "1*" && echo yes' 'yes\n' '' ''
+toyonly testcmd "=~" 'abc =~ a.c && echo yes' "yes\n" "" ""
+toyonly testcmd "=~ fail" 'abc =~ d.c; echo $?' '1\n' "" ""
+toyonly testcmd "=~ zero length match" 'abc =~ "1*" && echo yes' 'yes\n' '' ''

parts.

It looks like your test plumbing is testing something OTHER than toybox "test" (possibly bash's builtin test?) when it thinks it's testing toybox (TEST_HOST is not set, and readlink -f $C doesn't point to a file named toybox).

The shenanigans around $C and using "testcmd 'blah'" instead of "testing 'test blah'" are to force the test to use the toybox version instead of things like shell builtins. (Which is working here for me, and I need to convert the REST of tests/test.test to testcmd to make sure it's not testing the bash builtin for the rest of them...)

Rob
_______________________________________________
Toybox mailing list
Toybox@lists.landley.net
http://lists.landley.net/listinfo.cgi/toybox-landley.net

Reply via email to