fish-shell/tests/checks
ridiculousfish 38f4330683 Rationalize $status and errors
Prior to this fix, fish was rather inconsistent in when $status gets set
in response to an error. For example, a failed expansion like "$foo["
would not modify $status.

This makes the following inter-related changes:

1. String expansion now directly returns the value to set for $status on
error. The value is always used.

2. parser_t::eval() now directly returns the proc_status_t, which cleans
up a lot of call sites.

3. We expose a new function exec_subshell_for_expand() which ignores
$status but returns errors specifically related to subshell expansion.

4. We reify the notion of "expansion breaking" errors. These include
command-not-found, expand syntax errors, and others.

The upshot is we are more consistent about always setting $status on
errors.
2020-01-25 17:28:41 -08:00
..
broken-config/fish Port config tests to littlecheck 2019-06-25 22:31:06 +02:00
abbr.fish Unexpand abbreviations' variable names before completing them 2019-10-06 14:42:42 +02:00
alias.fish alias: Use read --tokenize 2019-12-01 18:14:26 +01:00
andandoror.fish Run fish_indent on all our fish scripts 2020-01-13 20:34:22 +01:00
andor.fish Fix error messages for "and" and "or" after pipe 2019-11-26 14:03:53 +01:00
argparse.fish unbreak missing argument error on long option 2020-01-08 17:33:36 +01:00
bad-option.fish Add NetBSD's error to the bad-option test 2019-07-02 23:48:25 +02:00
bind.fish Port bind tests to littlecheck 2019-06-26 21:19:40 +02:00
broken-config.fish Port config tests to littlecheck 2019-06-25 22:31:06 +02:00
cd.fish Make the cd check more robust on macOS 2020-01-25 12:59:18 -08:00
cmdsub-limit.fish Rationalize $status and errors 2020-01-25 17:28:41 -08:00
colon-delimited-var.fish Clean up how PATH and CDPATH munging occurs 2019-11-02 16:48:08 -07:00
command-1.fish Port most of the invocation tests to littlecheck 2019-06-25 20:56:29 +02:00
command-2.fish Port most of the invocation tests to littlecheck 2019-06-25 20:56:29 +02:00
command-vars-persist.fish Port most of the invocation tests to littlecheck 2019-06-25 20:56:29 +02:00
complete.fish Fix completions if previous arg is a variable 2020-01-18 20:21:10 +01:00
count.fish Port count test to littlecheck 2019-06-26 21:19:40 +02:00
deep-cmdsub.fish Add a test for deep command substitutions 2020-01-18 11:50:50 -08:00
directory-redirect.fish Run fish_indent on all our fish scripts 2020-01-13 20:34:22 +01:00
disown-parent.fish Add a tricky test to verify disowning an in-flight job 2019-12-08 11:44:21 -08:00
empty.fish Run fish_indent on all our fish scripts 2020-01-13 20:34:22 +01:00
env.fish Correctly mark a node when erasing an exported variable 2019-06-28 11:22:49 -07:00
eval.fish Rationalize $status and errors 2020-01-25 17:28:41 -08:00
exit-status-with-closing-stderr.fish Run fish_indent on all our fish scripts 2020-01-13 20:34:22 +01:00
expansion.fish Fix caret position of invalid expansion in command position 2019-10-06 13:43:05 -07:00
fds.fish Correctly handle "self fd redirections" 2019-12-13 16:51:49 -08:00
features-nocaret1.fish Port most of the invocation tests to littlecheck 2019-06-25 20:56:29 +02:00
features-nocaret2.fish Port most of the invocation tests to littlecheck 2019-06-25 20:56:29 +02:00
features-nocaret3.fish Port most of the invocation tests to littlecheck 2019-06-25 20:56:29 +02:00
features-nocaret4.fish Port most of the invocation tests to littlecheck 2019-06-25 20:56:29 +02:00
features-qmark1.fish Port qmark1 test to littlecheck 2019-06-25 22:31:06 +02:00
features-qmark2.fish Port most of the invocation tests to littlecheck 2019-06-25 20:56:29 +02:00
features-string-backslashes-off.fish tests, CHANGELOG: regex-easyesc 2019-08-13 22:56:31 -07:00
features-string-backslashes.fish tests, CHANGELOG: regex-easyesc 2019-08-13 22:56:31 -07:00
for.fish Don't overwrite unrelated variables with for-loop-variables 2020-01-08 09:10:14 +01:00
function-definition.fish Properly print leading comments and indentation in functions 2020-01-03 14:40:28 -08:00
function.fish Fix options after --argument-names to function (#6188) 2019-10-10 18:09:26 +02:00
init-command-2.fish Port most of the invocation tests to littlecheck 2019-06-25 20:56:29 +02:00
init-command-mix-ordering.fish Port most of the invocation tests to littlecheck 2019-06-25 20:56:29 +02:00
init-command-mix.fish Port most of the invocation tests to littlecheck 2019-06-25 20:56:29 +02:00
init-command.fish Port most of the invocation tests to littlecheck 2019-06-25 20:56:29 +02:00
interactive.fish Port most of the invocation tests to littlecheck 2019-06-25 20:56:29 +02:00
invocation.fish Rationalize $status and errors 2020-01-25 17:28:41 -08:00
job-ids.fish tests/job-ids: Wait for job to die 2020-01-25 14:06:34 +01:00
line-number.fish Fix line numbers in functions 2019-11-26 18:12:24 +01:00
login-interactive.fish Port most of the invocation tests to littlecheck 2019-06-25 20:56:29 +02:00
login.fish Port most of the invocation tests to littlecheck 2019-06-25 20:56:29 +02:00
math.fish Run fish_indent on all our fish scripts 2020-01-13 20:34:22 +01:00
no-login-no-interactive.fish Port most of the invocation tests to littlecheck 2019-06-25 20:56:29 +02:00
pipeline-pgroup.fish Run fish_indent on all our fish scripts 2020-01-13 20:34:22 +01:00
printf.fish Run fish_indent on all our fish scripts 2020-01-13 20:34:22 +01:00
rc-returned.fish Port most of the invocation tests to littlecheck 2019-06-25 20:56:29 +02:00
read.fish Run fish_indent on all our fish scripts 2020-01-13 20:34:22 +01:00
realpath.fish Force symlink creation in realpath tests 2019-12-18 12:31:24 -06:00
redirect.fish Remove redirection_is_to_real_file 2019-12-20 14:40:57 -08:00
self-signal-usr1.fish Stop storing block_io in job_t 2019-12-11 16:34:20 -08:00
set.fish Run fish_indent on all our fish scripts 2020-01-13 20:34:22 +01:00
setenv.fish Port setenv tests to littlecheck 2019-07-09 10:02:50 -07:00
sigint.fish Run fish_indent on all our fish scripts 2020-01-13 20:34:22 +01:00
signal.fish Run fish_indent on all our fish scripts 2020-01-13 20:34:22 +01:00
stack-overflow.fish Remove the forbidden function stack 2019-11-10 12:36:46 -08:00
status-command.fish Add a test for some 'status' subcommands 2020-01-25 14:10:45 -08:00
status-value.fish Rationalize $status and errors 2020-01-25 17:28:41 -08:00
string.fish Run fish_indent on all our fish scripts 2020-01-13 20:34:22 +01:00
switch.fish Allow switch with something that expands to nothing 2019-07-31 14:08:28 +02:00
threads.fish Test using more than 64 threads 2020-01-18 10:43:59 +01:00
time.fish checks: Use "sleep" without "s" suffix 2020-01-05 18:41:56 +01:00
trace.fish Add support for fish_trace variable to trace execution 2019-11-02 14:40:57 -07:00
variable-assignment.fish use variable assignments on commandline in completions 2020-01-17 14:53:35 +01:00
version.fish Port most of the invocation tests to littlecheck 2019-06-25 20:56:29 +02:00
wildcard.fish Eliminate expand_result_t::wildcard_match 2020-01-22 11:49:59 -08:00
wraps.fish Amend typos and grammar errors 2019-11-25 13:07:15 +01:00