[Toybox] test flakiness sitrep

Rob Landley rob at landley.net
Thu Aug 15 11:05:41 PDT 2019



On 8/15/19 11:35 AM, enh wrote:
> On Thu, Aug 15, 2019 at 3:36 AM Rob Landley <rob at landley.net> wrote:
>> Working as fast as I can. Hobby time is finite. :(
>>
>> (Did you know busybox hush is 11000 lines and busybox ash is 14000? I thought
>> they were smaller. Hadn't looked at either in years, did a wc on both yesterday
>> filling out my talk outline, and was surprised. I'm still trying to keep toysh
>> under 3000 lines, but we'll see...)
> 
> mksh is 35kloc. tcsh is 60kloc. i remain skeptical of an "i can't
> believe it's not bash" shell that's also small.

I'd say "hold my diet orange cream soda" but that's not gonna make the work go
faster. :P

*shrug* We'll see. It _might_ wind up being more like 5k lines for full bash
corner cases, but if I admit that this early it'll be bigger than it needs to
be, my next good stopping point is what I can fit in 3k-ish lines, and then I
can evaluate if more needs to happen. (I was _trying_ to see what I could do in
1k lines but given that token parsing, syntax checking, and running didn't
collapse together into a single codepath... alas. Working on it.)

Busybox's shells are way fewer lines than the ones you mentioned, and toybox
commands tend to be smaller than busybox commands. Busybox's grep is over 800
lines, toybox's grep is 502 lines. Busybox's printf is 455 lines, toybox's is
148 lines. Busybox ping is 1015 lines, toybox ping is 265. Busybox lsmod is 134
lines, toybox is 36.

And keep in mind, I used to maintain busybox, I did an awful lot of cleanup on a
lot of busybox commands, making them smaller, but the shell I never got around to...

>> It works if you put a semicolon after the 4 but there's no obvious reason you'd
>> NEED to. :P (And WHY does bash use backquote and quote? Why is it trying to do
>> Microsoft Smart Quotes in ASCII? Seriously, can someone convince the gnu/dammit
>> guys to just stop please?)
> 
> it looked right (by accident) on a real VT100 :-/

I plead the third. (It's the one about quartering troops, it doesn't get enough
attention.)

>> But unfortunately I don't remember what the actual _bug_ was. I thought I had a
>> failing test in tests/printf.test for it, but git diff shows that file is clean?
>> Maybe it was in an earlier tree? I'm pretty sure it's in the back mailing list
>> posts, but they're not easily searchable. Maybe a back blog entry...
> 
> actually, that looks like the fix for one of the GNU vs toybox
> differences i ran into. if you do actually want to be fully (what i
> think is) bug compatible, between us i think we have the tests and the
> fixes :-)

Send me the test please, I misplaced the test which is why I haven't finished it...

Rob



More information about the Toybox mailing list