Age | Commit message (Collapse) | Author |
|
The test for \N where N was larger than the number of capturing groups
in the regular expression was incorrect, and firing for cases such as
matching __(ARM_)?NR_([a-z]*) against __NR_read, where the first group is
empty (because it failed to match) but the second group did match "read".
Use regex_t's re_nsub for the error check, and treat rm_so == -1 as a
signal to just copy nothing into the result.
(Found trying to build minijail in AOSP.)
|
|
Add support for more input formats, primarily the ISO formats used by
the AOSP build.
I've improved/added to the tests a bit to cover these changes, and to
explain the reasons for the various remaining test failures (none of
which are regressions caused by this patch).
|
|
Bug: http://b/123902291
|
|
I'm switching to a new laptop, and found this from 2017-07. I think
these are the tests used for the Android libziparchive-based unzip.
They pass on the host.
|
|
Implement -p, -t, and -r.
Add some missing tests.
Move -L and -x back to TODO since they're not implemented and I haven't
yet even understood what they're supposed to do.
|
|
|
|
Used to construct SELinux policies in the AOSP build.
I left loopfiles_lines with its hard-coded '\n' because although cut(1)
also has a -z option, I can't find any case where it's used in any of
the codebases searchable by me. (And fmt(1), the other user, doesn't
even have the option.) YAGNI.
Bug: http://b/122744241
|
|
For a definition of "fix" that's even _more_ of a deviation from posix, but
matches what debian does...
|
|
Bug: http://b/122744241
|
|
Otherwise we get this error:
continue: only meaningful in a 'for', 'while', or 'until' loop
|
|
|
|
|
|
Annoyingly coreutils and busybox both have the --status functionality,
but coreutils only accepts --status and busybox only accepts -s. Although
all extant users known to me use --status I've supported both (a) for
maximum compatibility and (b) because Rob hates longopts :-)
Also, -c/--check don't take argument(s): they alter the interpretation
of all the FILE... arguments.
I removed a bunch of dead code here, but I couldn't switch us over to
loopfiles_lines because I didn't want to regress on the "warn if any
check file contains no hashes", and loopfiles_lines doesn't give you
any way to recognize that you've moved on to the next file.
|
|
|
|
|
|
|
|
I realized (after being questioned about my motivation) that I hadn't
added a test for the -u behavior. Adding the missing test confirmed the
usual "if there isn't a test, the code is broken", but now I think I
actually understand how we're supposed to choose between DIR, $TMPDIR,
and /tmp. I've added more tests to back this up, and rewritten the code
one more time so that we pass all the tests.
|
|
|
|
|
|
|
|
|
|
The new tests pass on the host (coreutils 8.28) and with toybox after
this patch is applied.
|
|
|
|
|
|
|
|
|
|
|
|
AOSP doesn't need -a specifically, but since it's needed for -s we may
as well accept it too.
|
|
These are reasonable examples I found in AOSP.
I also came across "today" (which is the same as the more obvious "now"),
"yesterday", "7 days ago" and "1 month ago". I'm not sure how far down
that rabbit hole we want to go. But these ones at least seem reasonable.
|
|
|
|
|
|
|
|
This was found by https://kernel.googlesource.com/pub/scm/linux/kernel/git/shuah/linux-kselftest/+/master/tools/testing/selftests/splice/default_file_splice_read.sh which broke after the recent change.
Plus this actually fixes another of our existing test failures on the host.
I'm assuming we don't want to try the "exact fit" heuristics until we
have a concrete need for them. (I haven't fully understood the
circumstances under which they're used, though the two remaining host
test failures appear to be because of them.)
Bug: http://b/111891791
Test: ran tests
|
|
This is in POSIX, but pcre2grep gets it wrong (https://bugs.exim.org/show_bug.cgi?id=2294).
|
|
|
|
|
|
(My apologies for mixing these two unrelated changes up.)
|
|
|
|
|
|
|
|
|
|
LTP uses `top -d 0.1`, which isn't convincingly useful, but general
support for other time units might be useful, and switching to xparsetime
addresses both at once.
Also fix 3169d948c049664bcf7216d4c4ae751881099d3e where I mistakenly
treated `rev` and `toys.optflags&FLAG_b` as interchangeable. (Without
this second fix, `top -b` looks fine but `top` is broken!)
Also fix xparsetime to reject input such as "monkey" or "1monkey".
|
|
Reuse create_uuid, but make it match the current RFC.
|
|
Note: ubuntu will show -m through a file, this treat that as error.
|
|
ln -f does the rm and retry if the first attempt fails for any reason.
So if you run the readlink test with an ubuntu host $PATH, it fails, but
it works with a toybox host path.
|
|
|
|
|
|
Switch the printf over to %s because the input is actually hex (so %d
is wrong), but without the leading "0x" that %x would require.
For some reason the NODE assignment wasn't providing any input to awk
(hence the hang), and awk wasn't looking for the correct field anyway.
The tests still fail for me:
losetup: /dev/block/loop0: No such device or address
losetup: /dev/block/loop0: No such device or address
losetup: file: No such file or directory
losetup: needs 1 arg (see "losetup --help")
But at least now they allow the other tests to continue!
|
|
Bringing the zlib-based gzip/gunzip/zcat over to toybox is a problem for
another day, but at least the tests are easy...
(These tests pass with TEST_HOST and on the toolbox versions, but the
toybox toys are in pending and very broken.)
|
|
The original xxd doesn't support -r with -i. The original also outputs
"unsigned char name[] = { ... };" for input other than stdin, but that
actually makes it less useful --- many languages support array
initializers, but far fewer support that exact declaration syntax.
Also fix the -c range checking and defaulting: ><= in the argument string
only works for floating point arguments.
Bug: http://b/64711851
|