fish-shell/tests/checks
Fabian Homborg 1dd776ec99 echo: Don't interpret and print options
A weird interaction between grouped short options and our weird option
parsing that puts unknown options back:

```
echo "-n foo"
```

would see the `-n`, turn off printing newlines, interpret the " " as
another grouped short option, see that there is no short option for
space and put the entire token back on the arguments pile.

So it would print "-n foo" *without a newline*.

Fix this by keeping an old state of the options around and reverting
it when putting options back.

The alternative is *probably* to forbid the " " short option in
wgetopt, then check if an option group contains it and error out, but
this should only really be a problem in `echo` because that is,
AFAICT, the only thing that puts the options back.

Fixes #7614
2021-01-09 08:50:30 +01:00
..
broken-config/fish Port config tests to littlecheck 2019-06-25 22:31:06 +02:00
abbr.fish abbr: Don't write an error if erasing nonexisting abbrs 2020-10-04 12:34:38 +02:00
alias.fish Print nicer "defined in" for functions defined on stdin/via source 2020-12-11 23:09:16 +01: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 argparse: Make short flag names optional (#7585) 2021-01-01 11:37:25 +01:00
bad-option.fish Fix typo in bad options test 2020-02-08 13:30:48 +01:00
basic.fish echo: Don't interpret and print options 2021-01-09 08:50:30 +01: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 Add some error tests for cd 2020-12-28 23:23:06 +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 Add a test for background procs in cmdsubs 2021-01-07 11:38:52 -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-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_directories.fish Run __fish_complete_entries test in its own sandbox 2020-10-25 23:01:51 -05:00
complete.fish Fix error message in tests 2020-11-07 22:48:13 +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 Print nicer "defined in" for functions defined on stdin/via source 2020-12-11 23:09:16 +01:00
functions.fish Print nicer "defined in" for functions defined on stdin/via source 2020-12-11 23:09:16 +01:00
glob.fish tests: Don't rely on $HOME existing 2020-12-29 12:48:11 +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 Exit if --no-execute is enabled don't interactively read from the terminal 2021-01-01 21:22:52 +01:00
job-control-noninteractive.fish tests: Pass $fish as a variable in some cases 2020-10-06 17:40:22 +02: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 --base option 2020-11-27 19:33:27 +01:00
no-execute.fish Don't time --no-execute 2020-02-17 11:39:53 +01:00
pipeline-pgroup.fish tests: Pass $fish as a variable in some cases 2020-10-06 17:40:22 +02:00
pipestatus.fish Correct $status for certain pipeline-aborting failures 2020-12-13 17:33:34 -08: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: use absolute path also with -s/--no-symlinks 2020-12-24 08:53:08 +01:00
redirect.fish Add test for redirection to variable 2020-07-14 20:55:38 +02:00
regex-import.fish string match: Only import variables for the first matching argument 2020-12-04 18:45:08 +01: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 set: Allow erasing multiple variables at once 2020-10-04 12:24:11 +02:00
setenv.fish Port setenv tests to littlecheck 2019-07-09 10:02:50 -07:00
sigint.fish tests: Pass $fish as a variable in some cases 2020-10-06 17:40:22 +02: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 Add string to reserved keywords 2020-12-06 15:39:49 +01: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 Change fish_trace prefix to "->" instead of plusses 2020-12-11 21:24:33 +01:00
type.fish Fix type test if system doesn't have realpath 2020-10-04 19:41:24 +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