summaryrefslogtreecommitdiffstats
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
...
* color: Fix a crash if LS_COLORS ends in *Tavian Barnes2019-06-271-0/+20
|
* bftw: Queue individual files in depth-first modeTavian Barnes2019-06-251-0/+31
| | | | This makes the order be truly depth-first.
* Implement -xattr predicateTavian Barnes2019-05-242-0/+4
|
* fsade: Refactor the POSIX.1e abstractionsTavian Barnes2019-05-244-0/+6
| | | | | | | Since we're going to want to abstract more things that aren't part of POSIX.1e (like xattrs) in a similar way, let's give this a more generic name. And while we're at it, give it some more precise error reporting, and add some tests.
* tests: Add some more --sudo testsTavian Barnes2019-05-093-0/+5
| | | | | | https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=912180#17 pointed out that d_ino is not trustworthy on mount points either. Make sure we don't use it.
* color: Don't stat() if we don't need toTavian Barnes2019-05-052-0/+40
|
* tests: Add missing expectation fileTavian Barnes2019-05-041-0/+0
|
* bftw: Add a caching stat() API to struct BFTWTavian Barnes2019-05-041-0/+20
|
* tests: Add some tests that require sudoTavian Barnes2019-04-243-0/+9
|
* parse: Allow things like -uid ++10Tavian Barnes2019-04-214-0/+76
| | | | GNU find does too.
* tests: Don't test symlink permissionsTavian Barnes2019-04-201-31/+31
| | | | They're different between platforms.
* tests: Add a test with -printf %H and multiple rootsTavian Barnes2019-04-201-0/+31
| | | | To make sure we're keeping track of different root paths correctly
* tests: Fix color NUL byte test on platforms where sort expects textTavian Barnes2019-03-282-0/+0
|
* color: Implement ln=targetTavian Barnes2019-03-281-0/+20
| | | | | With ln=target in LS_COLORS, links should be colored according to their target's stat() info, not their own.
* color: Implement escape sequence parsingTavian Barnes2019-03-282-0/+20
| | | | | GNU ls allows custom escape sequences inside color values, including control characters and embedded NULs.
* opt: Optimize redundant comma expressionsTavian Barnes2019-03-212-0/+2
|
* opt: Replace -a -false/-o -true with -not when possibleTavian Barnes2019-03-201-0/+1
|
* tests: Add utilities for comparing colors to lsTavian Barnes2019-03-192-0/+92
|
* tests: Use archive extensions for color testsTavian Barnes2019-03-1725-4/+79
|
* color: Match the behaviour of GNU ls more closelyTavian Barnes2019-03-1725-25/+212
|
* tests: Add a test for extension overridesTavian Barnes2019-03-072-0/+34
|
* eval: Fix -unique with -depthTavian Barnes2019-03-072-0/+22
|
* Implement -uniqueTavian Barnes2019-03-013-0/+6
| | | | Closes #48
* tests: Add a test for symlink coloring to a deviceTavian Barnes2019-02-1812-0/+28
|
* tests: Add tests for -no{group,user} under fd pressureTavian Barnes2019-02-072-0/+0
|
* tests: New utility for making and testing socket filesTavian Barnes2019-02-0112-0/+142
|
* main: Fix closed standard stream handlingTavian Barnes2019-02-013-0/+19
| | | | | bfs >&- should complain about a missing file descriptor, rather than silently succeeding.
* color: Fix more incompatibilities with GNU lsTavian Barnes2019-01-0212-12/+165
|
* tests: Fix test_exit() to not depend on breadth-first orderingTavian Barnes2018-12-281-15/+0
|
* color: Don't print the leading directory color if there's no leading directoryTavian Barnes2018-12-171-1/+1
|
* tests: Don't assume find continues after filesystem loopsTavian Barnes2018-11-1418-24/+55
| | | | | | | | | | | 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: Add testcases for -pruneTavian Barnes2018-11-013-0/+29
|
* spawn: New posix_spawn()-like API for execTavian Barnes2018-09-181-16/+0
|
* opt: Re-run optimizations after reordering expressionsTavian Barnes2018-08-182-0/+24
| | | | | This catches new data flow inferences that can be made after swapping the children of an expression.
* tests: Add tests for mode 000Tavian Barnes2018-07-204-0/+25
|
* printf: Output ? for errors in %YTavian Barnes2018-07-201-0/+3
|
* eval: Fix -delete when following symlinks.Tavian Barnes2018-07-121-0/+2
| | | | | 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-078-0/+10
|
* tests: Relax test_depth_errorTavian Barnes2018-06-241-2/+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/+4
|
* printf: Add %w and %Wk for file birth timesTavian Barnes2018-01-201-0/+0
| | | | | %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/+16
|
* parse: Support -perm +7777, for compatibility with BSD and old GNU findTavian Barnes2017-11-052-0/+12
|
* parse: Keep track of what files are already openTavian Barnes2017-10-211-0/+57
| | | | Fixes #22
* opt: Fix -depth with arguments bigger than INT_MAXTavian Barnes2017-09-171-0/+19
|
* tests: Add tests that trigger some optimizationsTavian Barnes2017-09-168-0/+47
|
* Revert "tests: Test hardlinks to symlinks"Tavian Barnes2017-09-0712-18/+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/+0
| | | | | | -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-0612-0/+18
|
* tests: Make test_deep pass with other find implementationsTavian Barnes2017-09-042-16/+32
| | | | | And move test_deep_strict to the bfs-specific tests, since it's not likely to ever pass for other implementations.