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