summaryrefslogtreecommitdiffstats
path: root/tests.sh
Commit message (Collapse)AuthorAgeFilesLines
* main: Fix closed standard stream handlingTavian Barnes2019-02-011-0/+29
| | | | | bfs >&- should complain about a missing file descriptor, rather than silently succeeding.
* tests: Fail if bfs failsTavian Barnes2019-01-311-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 utilTavian Barnes2019-01-021-3/+3
|
* color: Fix more incompatibilities with GNU lsTavian Barnes2019-01-021-4/+79
|
* tests: Fix test_exit() to not depend on breadth-first orderingTavian Barnes2018-12-281-1/+1
|
* tests.sh: Add a --help with usage informationTavian Barnes2018-12-171-1/+36
|
* exec: Reject -exec \; without a commandTavian Barnes2018-11-141-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 Barnes2018-11-141-3/+2
| | | | Also, FreeBSD find rejects -L -delete, so don't test it under --bsd.
* tests: Don't assume find continues after filesystem loopsTavian Barnes2018-11-141-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-compliantTavian Barnes2018-11-011-6/+6
|
* tests: Add testcases for -pruneTavian Barnes2018-11-011-0/+16
|
* tests: Sort test listsTavian Barnes2018-09-271-159/+292
|
* tests: Move test for -H -newer out of POSIXTavian Barnes2018-09-271-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 testsTavian Barnes2018-09-261-13/+21
| | | | Credit to http://core.suckless.org/sbase/ for identifying these.
* Update some more copyright datesTavian Barnes2018-09-261-1/+1
|
* spawn: New posix_spawn()-like API for execTavian Barnes2018-09-181-9/+0
|
* opt: Re-run optimizations after reordering expressionsTavian Barnes2018-08-181-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 specifierTavian Barnes2018-07-241-2/+2
|
* tests: Add tests for mode 000Tavian Barnes2018-07-201-0/+21
|
* printf: Output ? for errors in %YTavian Barnes2018-07-201-0/+16
|
* eval: Fix -delete when following symlinks.Tavian Barnes2018-07-121-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 symlinksTavian Barnes2018-07-071-0/+45
|
* tests: Use -maxdepth 0 instead of | head -n1Tavian Barnes2018-07-071-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_errorTavian Barnes2018-06-241-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 errorsTavian Barnes2018-06-231-0/+18
|
* tests: Work around broken rm in cleanupTavian Barnes2018-03-181-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 diffTavian Barnes2018-03-181-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 spaceTavian Barnes2018-03-181-1/+1
|
* tests: Add a --noclean option to preserve the test directoryTavian Barnes2018-03-181-2/+14
| | | | Useful for debugging testsuite failures.
* printf: Add %w and %Wk for file birth timesTavian Barnes2018-01-201-0/+6
| | | | | %w and %W were chosen to match the format specifiers for file birth times from stat(1)
* exec: Recover from E2BIGTavian Barnes2017-11-121-0/+9
|
* parse: Support -perm +7777, for compatibility with BSD and old GNU findTavian Barnes2017-11-051-5/+10
|
* parse: Keep track of what files are already openTavian Barnes2017-10-211-4/+20
| | | | Fixes #22
* Report errors that occur when closing filesTavian Barnes2017-10-211-1/+19
| | | | Otherwise we miss write errors that occur when flushing the cache.
* tests: -quit is not POSIXTavian Barnes2017-09-201-1/+1
|
* opt: Fix -depth with arguments bigger than INT_MAXTavian Barnes2017-09-171-0/+5
|
* tests: Add tests that trigger some optimizationsTavian Barnes2017-09-161-0/+40
|
* tests: Silence error messages while creating deep/Tavian Barnes2017-09-091-1/+1
| | | | | Some platforms will print errors like "cannot access parent directories: Result too large"
* Try /proc/self/fd before /dev/fdTavian Barnes2017-09-091-2/+8
| | | | On Solaris, /proc/self/fd is dynamic while /dev/fd is static.
* Revert "tests: Test hardlinks to symlinks"Tavian Barnes2017-09-071-2/+0
| | | | | | Apparently macOS doesn't support ln -P. This reverts commit 80eec18020f531abbdb2abbb919ab6c6fa34107c.
* parse: Don't reorder or remove tests with potential side effectsTavian Barnes2017-09-061-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 symlinksTavian Barnes2017-09-061-0/+2
|
* tests: Make test_deep pass with other find implementationsTavian Barnes2017-09-041-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 Barnes2017-09-021-26/+27
|
* tests: Remove unnecessary sort-args.sh invocationsTavian Barnes2017-08-161-2/+2
|
* tests: Add some syntax highlighting to --verboseTavian Barnes2017-08-121-3/+22
|
* Unify broken symlink handlingTavian Barnes2017-08-121-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 commandTavian Barnes2017-08-121-0/+8
|
* exec: Fix more corner cases with -ok ... +Tavian Barnes2017-07-291-0/+10
| | | | -ok should look for a ; even if it sees {} +, according to POSIX.
* tests.sh: Add a --verbose modeTavian Barnes2017-07-291-22/+58
|