On Tue, May 14, 2024 at 1:04 PM Rob Landley <r...@landley.net> wrote: > > On 5/14/24 07:10, enh wrote: > > macOS tests seem to be broken since this commit? > > > > FAIL: find strlower edge case > > echo -ne '' | touch aaaaaⱥⱥⱥⱥⱥⱥⱥⱥⱥ; find . -iname aaaaaȺȺȺȺȺȺȺȺȺ > > --- expected 2024-05-10 17:32:56.000000000 +0000 > > +++ actual 2024-05-10 17:32:56.000000000 +0000 > > @@ -1 +0,0 @@ > > -./aaaaaⱥⱥⱥⱥⱥⱥⱥⱥⱥ > > Sigh. Apple's handling of utf8/unicode continues to be... "a challenge". > > When I run "make test_find" standalone, it gives me: > > scripts/runtest.sh: line 219: syntax error near unexpected token `;' > scripts/runtest.sh: line 219: ` R) LEN=0; B=1; ;&' > > Because bash 3.2 from 2007 doesn't understand ;&
yeah, nor does mksh. it hasn't caused me any problems though; i've been ignoring it for years now. > And THEN it goes: > > touch: out of range or illegal time specification: > YYYY-MM-DDThh:mm:SS[.frac][tz] > touch: out of range or illegal time specification: > YYYY-MM-DDThh:mm:SS[.frac][tz] > FAIL: find newerat > echo -ne '' | find dir -type f -newerat @12345 > --- expected 2024-05-14 11:16:40.000000000 -0500 > +++ actual 2024-05-14 11:16:40.000000000 -0500 > @@ -1 +0,0 @@ > -dir/two > > Which is a different error that DOESN'T happen with the global tests, because > those are using toybox touch rather than homebrew's $TOUCH. But it works on > debian. Let's see: > > $ touch --version > touch: illegal option -- - > usage: touch [-A [-][[hh]mm]SS] [-achm] [-r file] [-t [[CC]YY]MMDDhhmm[.SS]] > [-d YYYY-MM-DDThh:mm:SS[.frac][tz]] file ... > > Thank you, gnu project. I'm gonna assume this is _also_ from 2007. (I made > scripts/prereq/build.sh for a REASON...) no, i think this is a BSD touch. yeah, that looks very like the FreeBSD touch's usage: static void usage(const char *myname) { fprintf(stderr, "usage: %s [-A [-][[hh]mm]SS] [-achm] [-r file] " "[-t [[CC]YY]MMDDhhmm[.SS]]\n" " [-d YYYY-MM-DDThh:mm:SS[.frac][tz]] " "file ...\n", myname); exit(1); } > Then when I run "make clean macos_defconfig tests" I get: > > Undefined symbols for architecture arm64: > "_iconv", referenced from: > _do_iconv in iconv.o > (maybe you meant: _iconv_main) > "_iconv_open", referenced from: > _iconv_main in iconv.o > ld: symbol(s) not found for architecture arm64 > > Because the Makefile has: > > tests: ASAN=1 > tests: toybox > scripts/test.sh > > And ASAN apparently breaks on homebrew's toolchain but not debian's toolchain. > Why does it break there but not on Linux... > > probe cc -Wall -Wundef -Werror=implicit-function-declaration > -Wno-char-subscripts -Wno-pointer-sign -funsigned-char > -Wno-deprecated-declarations -Wno-string-plus-int -Wno-invalid-source-encoding > -fsanitize=address -O1 -g -fno-omit-frame-pointer -fno-optimize-sibling-calls > -xc -o /dev/null - > error: cannot parse the debug map for '/dev/null': The file was not recognized > as a valid object file > clang: error: dsymutil command failed with exit code 1 (use -v to see > invocation) > > Because it tries to read back the -o output we discarded, and fails when it > can't do so, thus all library probes fail and it tries to build with no > libraries. But only when ASAN is enabled, because ASAN uses -o as INPUT. > Bravo. > > None of this is the actual unicode failure, this is just ambient macos... > > Rob _______________________________________________ Toybox mailing list Toybox@lists.landley.net http://lists.landley.net/listinfo.cgi/toybox-landley.net