fish-shell/tests/checks
ridiculousfish e88eb508d0 Rework variable assignments during tab completion
Prior to this change, tab completing with a variable assignment like
`VAR=val cmd<tab>` would parse out and apply VAR=val, then recursively
invoke completions. This caused some awkwardness around the wrap chain -
if a wrapped command had a variable completion we risked infinite
recursion. A secondary problem is that we would run any command
substitutions inside variable assignment, which the user does not expect
to run until pressing enter.

With this change, we explicitly track variable assignments encountered
during tab completion, including both those explicitly given on the
command line and those found during wrap chain walk. We then apply them
while suppressing command substitutions.
2020-09-26 18:39:38 -07:00
..
broken-config/fish Port config tests to littlecheck 2019-06-25 22:31:06 +02:00
abbr.fish Reindent functions to remove useless quotes 2020-03-09 19:46:43 +01:00
alias.fish alias: Escape the first word again 2020-07-27 17:19:44 +02:00
andandoror.fish Remove duplicated test 2020-09-04 16:30:13 +02:00
andor.fish Reindent functions to remove useless quotes 2020-03-09 19:46:43 +01:00
argparse.fish Don't use abbreviated long options 2020-09-19 11:47:41 +02:00
bad-option.fish Fix typo in bad options test 2020-02-08 13:30:48 +01:00
basic.fish Let command, jobs and type take --query instead of --quiet 2020-09-04 16:55:09 +02:00
bind.fish Port bind tests to littlecheck 2019-06-26 21:19:40 +02:00
braces.fish Reindent functions to remove useless quotes 2020-03-09 19:46:43 +01:00
broken-config.fish Port config tests to littlecheck 2019-06-25 22:31:06 +02:00
builtinbuiltin.fish Port some smaller tests to littlecheck 2020-02-08 09:31:49 +01:00
caller-observer.fish Fix up --on-job-exit caller 2020-02-08 16:23:25 -08:00
cd.fish Tests: Don't remove a parent of $PWD 2020-01-30 17:34:48 +01:00
check-all-fish-files.fish Add check to test all fish files with -n 2020-02-26 19:15:50 +01:00
cmdsub-limit.fish Shorten set --show output 2020-04-26 08:49:01 +02: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-not-found.fish Call "fish_command_not_found" if a command wasn't found 2020-09-06 11:15:54 +02:00
command-vars-persist.fish Port most of the invocation tests to littlecheck 2019-06-25 20:56:29 +02:00
complete.fish Consolidate complete cycle detection and always report error on cycle 2020-09-26 14:56:03 +02:00
complete_directories.fish Revert complete_directories change 2020-03-17 21:45:49 +01:00
contains_opt.fish Reindent functions to remove useless quotes 2020-03-09 19:46:43 +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 Fix tests 2020-01-19 15:07:06 +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
exec.fish tests: Remove test for windows line ending message 2020-09-26 15:19:24 +02: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 tests: Remove leftover reference to "../test/root/bin/fish" 2020-03-28 15:46:47 +01: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-nocaret5.fish Readd ^&1 redirection 2020-02-14 20:28:46 +01: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
fish_add_path.fish fish_add_path: Don't resolve symlinks 2020-09-12 19:28:01 +02: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 [tests] Fix test to reflect whitespace changes to error message 2020-06-25 23:19:44 -05:00
functions.fish Reindent functions to remove useless quotes 2020-03-09 19:46:43 +01:00
history.fish Port history tests to littlecheck 2020-02-07 20:53:20 +01:00
indent.fish fish_indent: preserve semis in if and while conditions 2020-08-17 17:40:28 +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
init-unreadable-cwd.fish Ignore unreadable cwd error harder 2020-02-14 20:09:07 +01:00
invocation.fish Add more tests for -c arguments 2020-09-26 15:19:24 +02:00
job-control-noninteractive.fish Bravely remove reclaim... param from continue_job, and rework tcsetpgrp calls 2020-07-27 14:51:37 -07:00
job-control-not-a-tty.fish terminal_maybe_give_to_job to stop returning error on ENOTTY 2020-04-18 16:26:54 -07:00
job-ids.fish tests/job-ids: Wait for job to die 2020-01-25 14:06:34 +01:00
jobs.fish jobs test to detect zombies before running 2020-09-13 19:28:14 -07:00
line-continuation.fish Reformat fish scripts with escaped newline changes to fish_indent 2020-03-15 21:01:11 +01:00
line-number.fish argparse: Only print stacktrace when it's an error in argparse usage 2020-06-17 20:05:48 +02:00
locale.fish Reindent functions to remove useless quotes 2020-03-09 19:46:43 +01:00
loops.fish Shorten set --show output 2020-04-26 08:49:01 +02:00
math.fish math: Add bitwise and/or functions 2020-08-26 17:48:58 +02:00
no-execute.fish Don't time --no-execute 2020-02-17 11:39:53 +01:00
pipeline-pgroup.fish Use temporary files for the background job pgroup test 2020-09-13 15:36:26 -07:00
pipestatus.fish Reindent functions to remove useless quotes 2020-03-09 19:46:43 +01:00
printf.fish printf: Don't print an error if not given an argument 2020-05-18 20:48:36 +02:00
psub.fish Reindent functions to remove useless quotes 2020-03-09 19:46:43 +01:00
random.fish Reindent functions to remove useless quotes 2020-03-09 19:46:43 +01:00
rc-returned.fish Port most of the invocation tests to littlecheck 2019-06-25 20:56:29 +02:00
read.fish checks/read: Print maximum if we fail to read it 2020-06-13 19:53:21 +02:00
realpath.fish builtin realpath: Add --no-symlinks option 2020-09-12 19:26:04 +02:00
redirect.fish Add test for redirection to variable 2020-07-14 20:55:38 +02:00
scoping.fish Reindent functions to remove useless quotes 2020-03-09 19:46:43 +01:00
self-signal-usr1.fish Stop storing block_io in job_t 2019-12-11 16:34:20 -08:00
set.fish Return no status from successful variable assignments 2020-08-05 12:23:49 -07:00
setenv.fish Port setenv tests to littlecheck 2019-07-09 10:02:50 -07:00
sigint.fish Add a test that nohup works 2020-08-10 12:26:30 -07:00
sigint2.fish Reindent functions to remove useless quotes 2020-03-09 19:46:43 +01:00
signal.fish Purge remnants of process expansion, document {fish,last}_pid 2020-05-16 11:58:12 +02:00
slices.fish Reindent functions to remove useless quotes 2020-03-09 19:46:43 +01:00
stack-overflow.fish Remove the forbidden function stack 2019-11-10 12:36:46 -08:00
status-command.fish Add status dirname and status basename convenience commands 2020-06-04 18:23:32 +02:00
status-value.fish Rationalize $status and errors 2020-01-25 17:28:41 -08:00
status.fish Reindent functions to remove useless quotes 2020-03-09 19:46:43 +01:00
string.fish string: Handle unmatched capturing groups as empty 2020-09-20 10:36:17 +02:00
switch.fish Reindent functions to remove useless quotes 2020-03-09 19:46:43 +01:00
test.fish test: Add tests for error messages 2020-06-07 16:23:29 +02:00
threads.fish Reindent functions to remove useless quotes 2020-03-09 19:46:43 +01:00
time.fish List time as builtin, support time --help 2020-02-23 23:42:57 +01:00
trace.fish Add support for fish_trace variable to trace execution 2019-11-02 14:40:57 -07:00
type.fish type: Print *only* the path if given --path or --force-path 2020-09-23 17:24:51 +02:00
umask.fish Port umask tests to littlecheck 2020-03-16 21:21:10 +01:00
variable-assignment.fish use variable assignments on commandline in completions 2020-01-17 14:53:35 +01:00
vars_as_commands.fish Port some smaller tests to littlecheck 2020-02-08 09:31:49 +01:00
version.fish Port most of the invocation tests to littlecheck 2019-06-25 20:56:29 +02:00
wildcard.fish Update littlecheck 2020-09-26 14:56:03 +02:00
wraps.fish Rework variable assignments during tab completion 2020-09-26 18:39:38 -07:00
zero_based_array.fish Port some smaller tests to littlecheck 2020-02-08 09:31:49 +01:00