summaryrefslogtreecommitdiffstats
path: root/tests.sh
Commit message (Collapse)AuthorAgeFilesLines
* tests: Add a test for deleting large directoriesTavian Barnes2021-04-181-0/+12
| | | | This serves as a test for https://github.com/tavianator/bfs/issues/67
* test: Add more tests for -H/-L and -type lTavian Barnes2021-03-281-1/+17
|
* tests: Actually remove capabilities after dropping themTavian Barnes2021-03-231-5/+8
|
* tests: Avoid looping forever when failing to drop capabilitiesTavian Barnes2021-03-221-1/+9
| | | | Link: https://github.com/void-linux/void-packages/pull/29437/checks?check_run_id=2169825021
* tests: Drop capabilities when run as root on LinuxTavian Barnes2021-03-211-6/+29
| | | | | | | | | | | | | bfs's tests rely on file permissions being enforced, which leads them to work incorrectly when run as root. This is probably the most common packaging issue for bfs, most recently seen with Void Linux's update to bfs 2.2. Make it easier on packagers by using capsh, if it's available, to drop the DAC privileges for the tests. Link: https://github.com/void-linux/void-packages/pull/29437#issuecomment-798670288 Link: https://salsa.debian.org/lamby/pkg-bfs/-/commit/b173efb35da126adb39b0984219d6a2fd9ff428f
* Implement -flags, from FreeBSD findTavian Barnes2021-03-061-0/+15
| | | | This is the last BSD-specific primary I'm aware of. Fixes #14.
* Update copyright datesTavian Barnes2021-02-051-1/+1
|
* tests: -sparse is BSD, not GNUTavian Barnes2021-01-131-1/+3
|
* -perm: Use +t instead of ug+tTavian Barnes2021-01-131-1/+1
| | | | | | | | | The chmod spec says that ug+t is unspecified, and only +t or a+t is guaranteed to actually set the sticky bit. In practice GNU tools respect o+t as well, but ignore u+t/g+t. Fix the implementation to match GNU, and only test the POSIX required parse.
* eval: Make -hidden behave consistentlyTavian Barnes2020-11-281-0/+6
| | | | | | | | | | | | | | | Previously there was an unexpected difference between $ bfs .hidden -hidden and $ bfs ./.hidden -hidden ./.hidden The intent of the code was to avoid considering `.`, the default starting point, as hidden and thus pruning a whole search with -nohidden. Fix it to do that explicitly, and handle `..` too.
* tests: Don't squelch stderr with --verboseTavian Barnes2020-11-111-48/+64
|
* tests: Test LS_COLORS extension lowercasingTavian Barnes2020-11-101-2/+2
|
* tests: Improve test coverage a bitTavian Barnes2020-11-101-0/+193
|
* opt: Predicates aren't true when they're falseTavian Barnes2020-11-091-0/+12
| | | | | | | | | | | | This unfortunate typo was mostly harmless; since the predicates were always assumed to be true, they wouldn't conflict. The exception is -user/-group, which set -nouser/-nogroup to false for users/groups that exist. Even -O0 wasn't enough to suppress the bug, due to a missing optlevel check fixed in the previous commit. Fixes: 305ee902874b49351f4916e303c293523f11570b
* printf: Format the empty string for %l of non-linksTavian Barnes2020-09-201-0/+5
| | | | It makes a difference if the format specifier has a width.
* Implement -xattrnameTavian Barnes2020-08-131-20/+57
| | | | From macOS find.
* parse: Prohibit actions inside -excludeTavian Barnes2020-06-071-0/+5
|
* Treat -nohidden like -exclude -hiddenTavian Barnes2020-06-071-0/+5
| | | | Fixes #30.
* Implement -exclude, a special form for convenient exclusionsTavian Barnes2020-06-071-0/+18
| | | | Fixes #8.
* opt: Make sure facts_when_impure sees *all* impure literalsTavian Barnes2020-06-071-1/+7
|
* opt: Track data flow information about predicatesTavian Barnes2020-05-221-12/+28
| | | | | | | | | | This allows us to optimize things like -sparse -o -not -sparse <==> -true and -sparse -a -not -sparse <==> -false
* Implement -s flag from FreeBSD find to sort resultsTavian Barnes2020-03-211-0/+40
|
* parse: Prettify some of the option-specific helpTavian Barnes2020-03-201-1/+6
|
* tests: Add a test for -printf %u/%g with a low ulimitTavian Barnes2020-03-011-0/+7
|
* eval: Irregular files aren't emptyTavian Barnes2020-02-141-1/+5
| | | | | GNU find's -empty returns false for devices, sockets, etc., even though their st_size is 0. Match that behaviour.
* parse: Handle 1969-12-31T23:59:59ZTavian Barnes2020-02-131-0/+6
| | | | | mktime() returns -1 on error, but also for one second before the epoch. Compare the input against localtime(-1) to distinguish those cases.
* Implement -{a,B,c,m,}sinceTavian Barnes2020-02-121-0/+13
|
* Implement explicit reference times (-newerXt)Tavian Barnes2020-02-111-0/+6
|
* tests: Make test_xattr a sudo test in exactly the right casesTavian Barnes2020-01-141-11/+14
| | | | This was broken on GNU Hurd, for example.
* fsade: Support checking for xattrs (extattrs) on FreeBSDTavian Barnes2020-01-081-23/+33
|
* tests: Fix setting ACLs on LinuxTavian Barnes2020-01-081-14/+15
|
* Update copyright datesTavian Barnes2020-01-071-1/+1
|
* fsade: Support NFSv4 ACLs on FreeBSDTavian Barnes2020-01-071-14/+20
|
* tests.sh: Bail out if setup failsTavian Barnes2019-11-011-0/+2
|
* tests: Fix some commentsTavian Barnes2019-09-191-3/+3
|
* tests: Don't redirect to /dev/null when unnecessaryTavian Barnes2019-09-131-4/+4
|
* tests.sh: Use an array for the enabled testsTavian Barnes2019-09-111-15/+11
| | | | | The separate $run_test_* variables were sensitive to the environment that ran the script.
* tests: Add -mount/-xdev tests with -LTavian Barnes2019-09-111-0/+32
|
* tests: Test more cases in test_color_lsTavian Barnes2019-09-051-1/+3
|
* color: Actually resolve symlinks against their parent directoryTavian Barnes2019-09-041-0/+1
|
* color: Fix directory coloring when resolving symlinks at the rootTavian Barnes2019-09-031-0/+25
|
* tests: Bail out of ACL tests if we can't set ACLsTavian Barnes2019-08-231-10/+6
| | | | Hopefully fixes #52.
* tests: Relax test_execdir_ulimit so that GNU find passesTavian Barnes2019-06-281-3/+3
|
* color: Fix a crash if LS_COLORS ends in *Tavian Barnes2019-06-271-0/+6
|
* bftw: Queue individual files in depth-first modeTavian Barnes2019-06-251-1/+15
| | | | This makes the order be truly depth-first.
* tests: Qualify the path to $TMP/scratchTavian Barnes2019-06-251-1/+3
|
* tests.sh: Try a bit harder to clean up scratchTavian Barnes2019-06-171-4/+3
| | | | | This matters if some directories aren't readable/searchable and we get ^C'd, for example.
* fsade: Fix ACL detection on macOSTavian Barnes2019-05-241-10/+56
|
* Add documentation for -xattrTavian Barnes2019-05-241-0/+6
|
* Implement -xattr predicateTavian Barnes2019-05-241-0/+27
|