summaryrefslogtreecommitdiffstats
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
* pwcache: Fill the user/group caches lazilyTavian Barnes2022-11-092-2/+11
| | | | | | | Iterating all the users/groups can be expensive, especially with NSS. Android has so many that it doesn't even return them all from get{pw,gr}ent() for performance reasons, leading to incorrect behaviour of -user/-group/etc.
* tests/xtouch: Add some missing POSIX touch featuresTavian Barnes2022-11-082-51/+104
|
* tests/xtouch: New utilityTavian Barnes2022-11-0722-88/+255
| | | | | | POSIX touch(1) doesn't include the -h option, and indeed OpenBSD doesn't implement it. Making our own utility also lets us add some handy extensions like -p (create parents) and -M (set permissions).
* tests: Skip fstype tests if the mtab isn't availableTavian Barnes2022-11-062-1/+8
|
* trie: Make leaves into a linked listTavian Barnes2022-10-291-0/+15
|
* tests: Fix privilege dropping when run as rootTavian Barnes2022-10-211-1/+1
| | | | Fixes: 412102712921e2b051da1d2ae9171d67a2a4bd61
* tests/gnu/inum_automount: Work around systemd-mount raceTavian Barnes2022-10-212-6/+6
| | | | | | | | | | | | This test used systemd-mount to set up an automount on scratch/mnt. If a previous test mounted something there, systemd will notice that asynchronously and may not have noticed the unmount by the time that test runs. This led to the test randomly being skipped sometimes when systemd-mount failed. It could be reproduced with a loop like this: $ for _ in {1..10}; ./tests/tests.sh common/L_mount gnu/inum_automount Work around it by using scratch/automnt instead to avoid conflicts.
* tests: Always clean scratch before using itTavian Barnes2022-10-204-0/+4
|
* tests: Add a helper for cleaning scratchTavian Barnes2022-10-2027-38/+50
| | | | And try to unmount things if the a test left them mounted.
* tests: Coverage number go upTavian Barnes2022-10-1922-2/+101
|
* tests: Split test cases into separate filesTavian Barnes2022-10-19770-2857/+902
|
* tests: Test -exec with a nonexistent commandTavian Barnes2022-10-055-0/+116
|
* tests: POSIX doesn't *require* -ok ... {} + to be unsupportedTavian Barnes2022-09-181-2/+11
|
* tests: Don't pass NUL bytes to sortTavian Barnes2022-07-184-5/+11
| | | | The tests now pass with busybox instead of coreutils.
* tests: Limit path lengths passed to mkdirTavian Barnes2022-07-131-4/+7
| | | | FreeBSD limits mkdir() to 1023 bytes, not 4096.
* tests: Set colors to the empty string for non-ttysTavian Barnes2022-07-131-0/+9
|
* tests: Use set -uTavian Barnes2022-07-131-2/+2
|
* tests: Optimize startupTavian Barnes2022-07-131-14/+14
| | | | ./tests.sh is about 110ms faster on my machine with this patch.
* tests: Add tests for parsing failures in more locationsTavian Barnes2022-07-131-0/+15
|
* tests: New test for -exec with unset $PATHTavian Barnes2022-07-122-0/+30
|
* tests: Simplify snapshot testing without bfs_diffTavian Barnes2022-07-121-102/+51
|
* tests: Add a test for every printf directiveTavian Barnes2022-06-011-0/+13
|
* tests: Add tests for -warn/-nowarnTavian Barnes2022-05-291-0/+13
|
* tests: Don't print test names to non-ttys without --verbose=testsTavian Barnes2022-05-201-6/+15
| | | | This should shrink the CI logs appreciably.
* 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.