summaryrefslogtreecommitdiffstats
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
...
| * tests: Move crash detection into invoke_bfs, use ! instead of failTavian Barnes2022-12-1667-78/+72
| |
| * tests: Replace skip_unless test with test || skipTavian Barnes2022-12-1644-78/+67
| |
| * tests: Fix crash when stderr is redirectedTavian Barnes2022-12-141-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | bash uses fileno(stderr) to keep track of $COLUMNS. With stderr redirected, $COLUMNS will be unset, leading to $ ./tests/tests.sh 2> >(cat) ./tests/tests.sh: line 635: COLUMNS: unbound variable Fix it by using $(tput cols) if $COLUMNS is unset, which is almost POSIX. Link: https://www.austingroupbugs.net/view.php?id=1053
| * tests/posix/readdir_error: Fix flakinessTavian Barnes2022-12-141-7/+23
| |
| * tests: Add a test for readdir() errorsTavian Barnes2022-12-131-0/+21
| |
| * config: New BFS_COUNTOF macroTavian Barnes2022-12-071-1/+2
| |
| * tests: Allow wildcard patterns like "posix/*"Tavian Barnes2022-12-021-48/+31
| |
| * parse: Fix crash on -xdev -mountTavian Barnes2022-11-302-0/+21
| |
| * parse: Pass the right argument when warning about -O9Tavian Barnes2022-11-302-0/+22
| |
| * tests: Avoid syslog() using a low fd on macOSTavian Barnes2022-11-201-5/+16
| |
* | [WIP] Simplistic conversion from find syntax to fdTavian Barnes2022-11-141-7/+12
|/
* exec: Fix index overflow parsing -exec +Tavian Barnes2022-11-112-0/+4
|
* typo: Array bounds are exclusive, not inclusiveTavian Barnes2022-11-101-0/+1
|
* Revert "exec: Don't flush if the user says no to -ok"Tavian Barnes2022-11-103-1/+24
| | | | | | | | | | | From the bfs_ctx_flush() implementation: // Before executing anything, flush all open streams. This ensures that // - the user sees everything relevant before an -ok[dir] prompt But that only works if we call it before the prompt. This reverts commit 21344dfb72f9b65b366ca5f754f1bc35f52da3c7.
* 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.