Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | tests: Fail if bfs fails | Tavian Barnes | 2019-01-31 | 1 | -3/+17 |
| | | | | | For tests that expect bfs to fail, the return value disambiguates whether bfs itself failed or whether the output was unexpected. | ||||
* | posix1e: Split out ACL and capability handling from util | Tavian Barnes | 2019-01-02 | 1 | -3/+3 |
| | |||||
* | color: Fix more incompatibilities with GNU ls | Tavian Barnes | 2019-01-02 | 1 | -4/+79 |
| | |||||
* | tests: Fix test_exit() to not depend on breadth-first ordering | Tavian Barnes | 2018-12-28 | 1 | -1/+1 |
| | |||||
* | tests.sh: Add a --help with usage information | Tavian Barnes | 2018-12-17 | 1 | -1/+36 |
| | |||||
* | exec: Reject -exec \; without a command | Tavian Barnes | 2018-11-14 | 1 | -1/+15 |
| | | | | | | | | | | | Prior to this, we'd fork and then segfault on every file as NULL was passed to execvpe(). Found while looking through old FreeBSD find bugs: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=36521 bfs still supports the (dubious, possibly unintentional?) GNU find extension to POSIX that allows $ bfs -exec {} \; | ||||
* | tests: Don't assume BSD find has the "implicit ." | Tavian Barnes | 2018-11-14 | 1 | -3/+2 |
| | | | | Also, FreeBSD find rejects -L -delete, so don't test it under --bsd. | ||||
* | tests: Don't assume find continues after filesystem loops | Tavian Barnes | 2018-11-14 | 1 | -13/+45 |
| | | | | | | | | | | | POSIX says > When it detects an infinite loop, find shall write a diagnostic > message to standard error and shall either recover its position in the > hierarchy or terminate. So make the 'links' folder not have any loops, and add a new 'loops' folder for testing the GNU/bfs behaviour. | ||||
* | tests: Make the weird names tests POSIX-compliant | Tavian Barnes | 2018-11-01 | 1 | -6/+6 |
| | |||||
* | tests: Add testcases for -prune | Tavian Barnes | 2018-11-01 | 1 | -0/+16 |
| | |||||
* | tests: Sort test lists | Tavian Barnes | 2018-09-27 | 1 | -159/+292 |
| | |||||
* | tests: Move test for -H -newer out of POSIX | Tavian Barnes | 2018-09-27 | 1 | -1/+2 |
| | | | | | The POSIX spec implies that -newer is actually not supposed to respect -H/-L. But all implementations I know about do anyway. | ||||
* | tests: Remove non-POSIX features from POSIX tests | Tavian Barnes | 2018-09-26 | 1 | -13/+21 |
| | | | | Credit to http://core.suckless.org/sbase/ for identifying these. | ||||
* | Update some more copyright dates | Tavian Barnes | 2018-09-26 | 1 | -1/+1 |
| | |||||
* | spawn: New posix_spawn()-like API for exec | Tavian Barnes | 2018-09-18 | 1 | -9/+0 |
| | |||||
* | opt: Re-run optimizations after reordering expressions | Tavian Barnes | 2018-08-18 | 1 | -1/+11 |
| | | | | | This catches new data flow inferences that can be made after swapping the children of an expression. | ||||
* | printf: Support %B, GNU find's undocumented birth time specifier | Tavian Barnes | 2018-07-24 | 1 | -2/+2 |
| | |||||
* | tests: Add tests for mode 000 | Tavian Barnes | 2018-07-20 | 1 | -0/+21 |
| | |||||
* | printf: Output ? for errors in %Y | Tavian Barnes | 2018-07-20 | 1 | -0/+16 |
| | |||||
* | eval: Fix -delete when following symlinks. | Tavian Barnes | 2018-07-12 | 1 | -0/+14 |
| | | | | | Same bug as https://savannah.gnu.org/bugs/?46305. Please don't ever do this though. | ||||
* | tests: Add some more tests for broken symlinks | Tavian Barnes | 2018-07-07 | 1 | -0/+45 |
| | |||||
* | tests: Use -maxdepth 0 instead of | head -n1 | Tavian Barnes | 2018-07-07 | 1 | -1/+1 |
| | | | | | | | This avoids the potential for "broken pipe" errors observed on some systems, e.g. http://build.alpinelinux.org/buildlogs/build-edge-s390x/testing/bfs/bfs-1.2.2-r0.log | ||||
* | tests: Relax test_depth_error | Tavian Barnes | 2018-06-24 | 1 | -3/+0 |
| | | | | | Whether bfs can return children of a directory without search permission depends on whether d_type is filled in, which can't be guaranteed. | ||||
* | tests: New test for -depth in the presence of read errors | Tavian Barnes | 2018-06-23 | 1 | -0/+18 |
| | |||||
* | tests: Work around broken rm in cleanup | Tavian Barnes | 2018-03-18 | 1 | -0/+7 |
| | | | | | | | BusyBox rm, for example, doesn't handle long paths properly, so give it some help. C.f. http://lists.busybox.net/pipermail/busybox/2018-March/086302.html | ||||
* | tests: Don't use process substitution for diff | Tavian Barnes | 2018-03-18 | 1 | -7/+18 |
| | | | | | This frees up an extra FD for some diff implementations like openbox that need it when ulimit -n is low. | ||||
* | tests: Be robust to ls -i implementation that output a leading space | Tavian Barnes | 2018-03-18 | 1 | -1/+1 |
| | |||||
* | tests: Add a --noclean option to preserve the test directory | Tavian Barnes | 2018-03-18 | 1 | -2/+14 |
| | | | | Useful for debugging testsuite failures. | ||||
* | printf: Add %w and %Wk for file birth times | Tavian Barnes | 2018-01-20 | 1 | -0/+6 |
| | | | | | %w and %W were chosen to match the format specifiers for file birth times from stat(1) | ||||
* | exec: Recover from E2BIG | Tavian Barnes | 2017-11-12 | 1 | -0/+9 |
| | |||||
* | parse: Support -perm +7777, for compatibility with BSD and old GNU find | Tavian Barnes | 2017-11-05 | 1 | -5/+10 |
| | |||||
* | parse: Keep track of what files are already open | Tavian Barnes | 2017-10-21 | 1 | -4/+20 |
| | | | | Fixes #22 | ||||
* | Report errors that occur when closing files | Tavian Barnes | 2017-10-21 | 1 | -1/+19 |
| | | | | Otherwise we miss write errors that occur when flushing the cache. | ||||
* | tests: -quit is not POSIX | Tavian Barnes | 2017-09-20 | 1 | -1/+1 |
| | |||||
* | opt: Fix -depth with arguments bigger than INT_MAX | Tavian Barnes | 2017-09-17 | 1 | -0/+5 |
| | |||||
* | tests: Add tests that trigger some optimizations | Tavian Barnes | 2017-09-16 | 1 | -0/+40 |
| | |||||
* | tests: Silence error messages while creating deep/ | Tavian Barnes | 2017-09-09 | 1 | -1/+1 |
| | | | | | Some platforms will print errors like "cannot access parent directories: Result too large" | ||||
* | Try /proc/self/fd before /dev/fd | Tavian Barnes | 2017-09-09 | 1 | -2/+8 |
| | | | | On Solaris, /proc/self/fd is dynamic while /dev/fd is static. | ||||
* | Revert "tests: Test hardlinks to symlinks" | Tavian Barnes | 2017-09-07 | 1 | -2/+0 |
| | | | | | | Apparently macOS doesn't support ln -P. This reverts commit 80eec18020f531abbdb2abbb919ab6c6fa34107c. | ||||
* | parse: Don't reorder or remove tests with potential side effects | Tavian Barnes | 2017-09-06 | 1 | -0/+8 |
| | | | | | | -empty and -xtype may have side effects like reporting permission errors, which even affect the exit status of bfs. We shouldn't remove these effects without -Ofast. | ||||
* | tests: Test hardlinks to symlinks | Tavian Barnes | 2017-09-06 | 1 | -0/+2 |
| | |||||
* | tests: Make test_deep pass with other find implementations | Tavian Barnes | 2017-09-04 | 1 | -6/+5 |
| | | | | | And move test_deep_strict to the bfs-specific tests, since it's not likely to ever pass for other implementations. | ||||
* | tests: Use human-readable filenames in links/ | Tavian Barnes | 2017-09-02 | 1 | -26/+27 |
| | |||||
* | tests: Remove unnecessary sort-args.sh invocations | Tavian Barnes | 2017-08-16 | 1 | -2/+2 |
| | |||||
* | tests: Add some syntax highlighting to --verbose | Tavian Barnes | 2017-08-12 | 1 | -3/+22 |
| | |||||
* | Unify broken symlink handling | Tavian Barnes | 2017-08-12 | 1 | -0/+29 |
| | | | | | | | | | Rather than open-code the fallback logic for broken symlinks everywhere it's needed, introduce a new xfstatat() utility function that performs the fallback automatically. Using xfstatat() consistently fixes a few bugs, including cases where broken symlinks are given as arguments to predicates like -samefile. | ||||
* | tests: Add a test for -exec ... {} + with a failing command | Tavian Barnes | 2017-08-12 | 1 | -0/+8 |
| | |||||
* | exec: Fix more corner cases with -ok ... + | Tavian Barnes | 2017-07-29 | 1 | -0/+10 |
| | | | | -ok should look for a ; even if it sees {} +, according to POSIX. | ||||
* | tests.sh: Add a --verbose mode | Tavian Barnes | 2017-07-29 | 1 | -22/+58 |
| | |||||
* | exec: Don't allow anything between {} and + | Tavian Barnes | 2017-07-29 | 1 | -27/+31 |
| | | | | | | | | | POSIX explicitly forbids this extension: > Only a <plus-sign> that immediately follows an argument containing > only the two characters "{}" shall punctuate the end of the primary > expression. Other uses of the <plus-sign> shall not be treated as > special. |