summaryrefslogtreecommitdiffstats
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
* Makefile: Add a BUILDDIR variable for out-of-tree buildsTavian Barnes2022-05-201-1/+6
| | | | bfs can now be built from a read-only source tree.
* Makefile: Split build into bin and obj directoriesTavian Barnes2022-05-161-0/+3433
| | | | | This also moves the main binary from ./bfs to ./bin/bfs, and ./tests.sh to ./tests/tests.sh, with the goal of keeping the repository root clean.
* tests: Use skip_if for sudo testsTavian Barnes2022-05-121-0/+0
| | | | | | This lets us categorize the sudo tests properly, which fixes e.g. $ ./tests.sh --posix --sudo
* stat: Pass AT_NO_AUTOMOUNT if possibleTavian Barnes2022-05-121-0/+1
| | | | | Previously bfs would trigger automounts even when it didn't descend into the mount directory, while GNU find does not.
* Source / Include Folder (#88)トトも2022-04-162-2/+2
| | | Moved Source Files Into `src` Folder
* tests: Use bfs_diff in more casesTavian Barnes2022-03-151-0/+0
|
* tests: Shell style fixesTavian Barnes2022-03-141-1/+1
| | | | We now support `./tests.sh --bfs="path/with\ spaces/bfs"`
* tests: Use -print0 instead of -printf '%p ' for exec flush testsTavian Barnes2022-03-132-0/+0
|
* tests: Use plain sort, not bfs_sortTavian Barnes2022-03-13112-531/+531
| | | | | bfs_sort existed to keep the test outputs nicely in breadth-first order. Unfortunately the implementation using awk didn't support NUL bytes.
* Don't shadow standard headersTavian Barnes2022-03-121-1/+1
| | | | | | | | | | | | | @italic on the AUR stated that bfs from the AUR fails to build on Manjaro. From the build log, it seems like <time.h> doesn't get included properly. I assume it's picking up ./time.h instead. I couldn't reproduce the build issue in the default configuration, but it does fail with EXTRA_CFLAGS="-I." which isn't good. So rename everything with an x prefix to stop clashing. Link: https://aur.archlinux.org/packages/bfs#comment-856102 Link: https://paste.rs/eqR
* regex: Use the encoding from the current localeTavian Barnes2022-02-241-0/+1
|
* exec: Flush I/O streams before executing anythingTavian Barnes2022-02-113-0/+21
| | | | | | Otherwise output from commands may appear unexpectedly earlier than output from bfs. We use fflush(NULL) to flush all streams, which is more than GNU find does, but seems to be a useful extension.
* tests: Add a test that -exit suppresses the implicit -printTavian Barnes2022-02-101-0/+0
|
* regex: Add support for emacs and grep typesTavian Barnes2022-02-042-0/+10
|
* tests: Add tests for syntactically invalid globsTavian Barnes2022-02-0212-0/+22
|
* tests: New tests for -i?wholenameTavian Barnes2022-02-012-0/+14
|
* tests: New test for ** in a globTavian Barnes2022-02-011-0/+4
|
* tests: New test for -prune on a non-directoryTavian Barnes2022-02-011-0/+10
|
* parse: Add support for ed and sed regexesTavian Barnes2022-01-302-0/+2
| | | | They're apparently the same as POSIX basic regexes.
* Revert "tests: Add a test for posix-basic alternation"Tavian Barnes2022-01-291-2/+0
| | | | | | | Turns out alternation is not actually part of the POSIX basic regular expression language, it's just a glibc extension. This reverts commit c898af13a671ee92a056467d324f16823594eb1c.
* tests: Add a test for posix-basic alternationTavian Barnes2022-01-291-0/+2
|
* tests: Add missing license headersTavian Barnes2022-01-182-0/+32
|
* tests/trie: Fix "handling" typoTavian Barnes2022-01-181-1/+1
|
* printf: Colorize file names/paths in simple casesTavian Barnes2021-10-091-0/+20
|
* Don't truncate files until we know they're not duplicatesTavian Barnes2021-09-262-0/+39
|
* ctx: Also deduplicate the standard streamsTavian Barnes2021-09-212-0/+57
| | | | | | This fixes some potential missing output when the same file is used in a redirection and something like -fprint. The main benefit is smarter handling of /dev/stdout, which will now share the CFILE* with cout.
* tests: Make the -files0-from tests weirderTavian Barnes2021-09-152-100/+60
|
* Implement -files0-from FILETavian Barnes2021-09-152-0/+100
| | | | | See https://savannah.gnu.org/bugs/?60383 for the development of the corresponding GNU find feature.
* Use /usr/bin/env bash as the shebang in scriptsTavian Barnes2021-08-054-4/+4
| | | | This should reduce the need for patches on the BSDs.
* Implement time units for -{a,B,c,m}timeTavian Barnes2021-06-021-0/+5
| | | | From FreeBSD find. Closes #75.
* tests: Add a test for deleting large directoriesTavian Barnes2021-04-181-0/+1
| | | | 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-2815-12/+32
|
* Implement -flags, from FreeBSD findTavian Barnes2021-03-061-0/+1
| | | | This is the last BSD-specific primary I'm aware of. Fixes #14.
* eval: Make -hidden behave consistentlyTavian Barnes2020-11-281-0/+5
| | | | | | | | | | | | | | | 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.
* Include what I useTavian Barnes2020-11-122-4/+0
| | | | Thanks to https://github.com/include-what-you-use/include-what-you-use
* tests: Improve test coverage a bitTavian Barnes2020-11-1012-0/+157
|
* tests: Add missing expectations from dd3bbb9Tavian Barnes2020-11-092-0/+38
|
* tests: Add missing ground truthTavian Barnes2020-09-201-0/+12
|
* Implement -xattrnameTavian Barnes2020-08-134-0/+6
| | | | From macOS find.
* tests/trie: New acceptance test for triesTavian Barnes2020-06-091-0/+118
|
* tests/xtimegm: Don't test the year 1900Tavian Barnes2020-06-091-1/+1
| | | | | | | macOS doesn't support negative time_t's that are larger than 32 bits apparently. C.f.: https://stackoverflow.com/a/46335905
* tests: New acceptance test for xtimegm()Tavian Barnes2020-06-091-0/+91
|
* Treat -nohidden like -exclude -hiddenTavian Barnes2020-06-071-0/+19
| | | | Fixes #30.
* Implement -exclude, a special form for convenient exclusionsTavian Barnes2020-06-073-0/+26
| | | | Fixes #8.
* opt: Track data flow information about predicatesTavian Barnes2020-05-224-0/+76
| | | | | | | | | | 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-214-0/+68
|
* eval: Irregular files aren't emptyTavian Barnes2020-02-141-0/+14
| | | | | 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/+5
| | | | | 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-122-0/+6
|
* Implement explicit reference times (-newerXt)Tavian Barnes2020-02-111-0/+3
|