fish-shell/tests
Fabian Boehm 4612343d6e
Merge pull request #8958 from faho/builtin-path
This adds a path builtin to deal with paths.

It offers the following subcommands:

    filter to go through a list of paths and only print the ones that pass some filter - exist, are a directory, have read permission, ...
    is as a shortcut for filter -q to only return true if one of the paths passed the filter
    basename, dirname and extension to print certain parts of the path
    change-extension to change the extension to a different one (as a string operation)
    normalize and resolve to canonicalize the paths in various flavors
    sort to sort paths, also only using the basename or dirname as a key

The definition of "extension" here was carefully considered and should line up with how extensions are actually used - ~/.bashrc doesn't have an extension, but ~/.conf.d does (".d").

These subcommands all compose well - they can read from arguments or stdin (like string), they can use null-delimited input or output (input is autodetected - if a NULL happens in the first PATH_MAX bytes it switches automatically).

It is both a failglob exception (so like set if a glob passed to it fails it just doesn't get any arguments for it instead of triggering an error), and passes output to command substitution buffers explicitly split (like string split0) so newlines are easy to handle.
2022-05-29 20:15:03 +02:00
..
checks Merge pull request #8958 from faho/builtin-path 2022-05-29 20:15:03 +02:00
pexpects Be careful to not touch curses variables if cur_term is null 2022-04-16 13:26:56 -07:00
test_functions tests/tmux: Do actually loop 25 times 2021-09-24 18:27:14 +02:00
.gitignore tweak gitignore rules for *tests* directory 2017-02-20 20:29:43 -08:00
history_sample_bash Support $(cmd) command substitution as alternative to (cmd) 2021-07-13 21:33:42 +02:00
history_sample_corrupt1 Improve history robustness against corrupt files 2014-07-29 14:42:03 -07:00
history_sample_fish_1_x Enforce that history items must end with trailing newlines 2021-05-10 14:23:07 -07:00
history_sample_fish_2_0 Enforce that history items must end with trailing newlines 2021-05-10 14:23:07 -07:00
interactive.config Remove some unused functions from the test harness 2020-11-15 09:17:23 +01:00
interactive.fish Add pexpect tests to new test driver 2021-08-29 08:56:12 +02:00
test.fish cmake: Force color in the tests 2021-08-30 17:16:19 +02:00
test_driver.sh fix build when path has spaces in it. 2021-10-22 02:27:19 -07:00
test_env.sh tests/test_env.sh: fix copy paste error so we export XDG_RUNTIME_DIR 2021-10-23 18:59:15 +02:00
test_util.fish Run each test fully independently in own environment 2021-08-29 08:56:12 +02:00