[Toybox] sort tests broken?

enh enh at google.com
Tue Aug 23 10:02:35 PDT 2022


note that that transcript is from macos, since it's more easily to hand.
but the original failure i reported was on android. interestingly the
github ci still seems to think that ubuntu is fine. but they're seeing the
same macos error. (plus a seq segfault?! we really need to get the tar
tests passing on macos again so we can spot actual new breakages as they
happen... who knows how long seq has been broken there? [because i _don't_
run the tests on macos as part of android's ci because we don't have mac
support there --- github is toybox's only mac ci];
https://github.com/landley/toybox/runs/7936685655?check_suite_focus=true)

is it a shell thing? what does `|&` even mean? is that a new bashism that
macos' old bash/android's mksh don't implement?

On Tue, Aug 23, 2022 at 9:55 AM enh <enh at google.com> wrote:

> no, and (oddly?) neither does _reverting_ that change...
>
> ~$ git clone https://github.com/landley/toybox.git toybox
> Cloning into 'toybox'...
> cdremote: Enumerating objects: 26019, done.
> remote: Counting objects: 100% (137/137), done.
> remote: Compressing objects: 100% (62/62), done.
> remote: Total 26019 (delta 78), reused 108 (delta 75), pack-reused 25882
> Receiving objects: 100% (26019/26019), 11.00 MiB | 19.84 MiB/s, done.
> Resolving deltas:  24% (4531/18878))
> Resolving deltas: 100% (18878/18878), done.
> m~$ cd toybox
> ~/toybox$ make macos_defconfig
> cc -o kconfig/conf kconfig/conf.c kconfig/zconf.tab.c -DKBUILD_NO_NLS=1 \
> -DPROJECT_NAME=\"ToyBox\"
> scripts/genconfig.sh
> KCONFIG_ALLCONFIG=./kconfig/macos_miniconfig kconfig/conf -n Config.in >
> /dev/null
> ~/toybox$ make test_sort
> scripts/test.sh sort
> scripts/runtest.sh: line 217: syntax error near unexpected token `;'
> scripts/runtest.sh: line 217: `      R) LEN=0; B=1; ;&'
> sort:Library probe
> generated/{Config.in,newtoys.h,flags.h,globals.h,tags.h,help.h}
> Compile generated/testdir/sort..................
> scripts/test.sh: line 42: realpath: command not found
> usage: dirname string [...]
> PASS: sort unknown argument
> PASS: sort sort
> PASS: sort #2
> PASS: sort stdin
> PASS: sort numeric
> PASS: sort reverse
> PASS: sort sort -o
> PASS: sort sort -o same
> PASS: sort one key
> PASS: sort key range with numeric option
> PASS: sort key range with numeric option and global reverse
> PASS: sort key range with multiple options
> PASS: sort key doesn't strip leading blanks, disables fallback global sort
> PASS: sort key edge case with -t
> PASS: sort -k2,2f
> PASS: sort -k2,2
> PASS: sort -f -k2,2
> PASS: sort -t, -k3n
> scripts/runtest.sh: eval: line 150: syntax error near unexpected token `&'
> scripts/runtest.sh: eval: line 150: `"/sort" -c |& grep -o [0-9]*'
> FAIL: sort -c
> echo -ne 'a\nb\na\nc' | "/sort" -c |& grep -o [0-9]*
> --- expected 2022-08-23 09:54:03.000000000 -0700
> +++ actual 2022-08-23 09:54:03.000000000 -0700
> @@ -1 +0,0 @@
> -3
> make: *** [test_sort] Error 1
> ~/toybox$ git revert 529a25a2eea4
> [master 053fefd1] Revert "Sort -c reported line number was off by one."
>  2 files changed, 2 insertions(+), 3 deletions(-)
> ~/toybox$ make test_sort
> scripts/test.sh sort
> scripts/runtest.sh: line 217: syntax error near unexpected token `;'
> scripts/runtest.sh: line 217: `      R) LEN=0; B=1; ;&'
> sort:generated/{newtoys.h,flags.h,globals.h,tags.h,help.h}
> Compile generated/testdir/sort.....
> scripts/test.sh: line 42: realpath: command not found
> usage: dirname string [...]
> PASS: sort unknown argument
> PASS: sort sort
> PASS: sort #2
> PASS: sort stdin
> PASS: sort numeric
> PASS: sort reverse
> PASS: sort sort -o
> PASS: sort sort -o same
> PASS: sort one key
> PASS: sort key range with numeric option
> PASS: sort key range with numeric option and global reverse
> PASS: sort key range with multiple options
> PASS: sort key doesn't strip leading blanks, disables fallback global sort
> PASS: sort key edge case with -t
> PASS: sort -k2,2f
> PASS: sort -k2,2
> PASS: sort -f -k2,2
> PASS: sort -t, -k3n
> scripts/runtest.sh: eval: line 150: syntax error near unexpected token `&'
> scripts/runtest.sh: eval: line 150: `"/sort" -uc |& grep -o [0-9]*'
> FAIL: sort -c
> echo -ne 'a\nb\nb\nc' | "/sort" -uc |& grep -o [0-9]*
> --- expected 2022-08-23 09:54:35.000000000 -0700
> +++ actual 2022-08-23 09:54:35.000000000 -0700
> @@ -1 +0,0 @@
> -3
> make: *** [test_sort] Error 1
> ~/toybox$
>
> On Mon, Aug 22, 2022 at 8:03 PM Rob Landley <rob at landley.net> wrote:
>
>> On 8/22/22 11:09, enh via Toybox wrote:
>> >
>> > FAIL: sort -c
>> > echo -ne 'a\nb\na\nc' | "/usr/bin/sort" -c |& grep -o [0-9]*
>> > --- expected 2022-08-22 08:56:24.000000000 -0700
>> > +++ actual 2022-08-22 08:56:24.000000000 -0700
>> > @@ -1 +0,0 @@
>> > -3
>> > make: *** [test_sort] Error 1
>>
>> Commit 529a25a2eea4 didn't fix it for you?
>>
>> Rob
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.landley.net/pipermail/toybox-landley.net/attachments/20220823/5a9b79b7/attachment-0001.htm>


More information about the Toybox mailing list