mirror of
https://github.com/fish-shell/fish-shell.git
synced 2024-11-25 02:51:44 +08:00
3f5c60e634
It used to error out when a command wasn't known, even when it was a function that would only be discovered via autoloading. Now we just accept that a command doesn't exist when no-execute is given - we're not gonna execute it anyway. Also, in the same breath stop counting empty commands after expansion and empty wildcard expansions as errors - these depend on runtime values, so we can't verify them without executing. Fixes #977. (note that it still executes "time", but that's another commit)
23 lines
580 B
Fish
23 lines
580 B
Fish
#RUN: %fish -C 'set -l fish %fish' %s
|
|
|
|
# Test that fish -n doesn't check for command existence - function autoloading throws a wrench in that.
|
|
echo "type foo" | $fish -n
|
|
echo $status
|
|
#CHECK: 0
|
|
|
|
# Test that it doesn't check globs.
|
|
echo "echo /asfjidhfiusnlkxcnvklxcvlkmcxlv*" | $fish -n
|
|
echo $status
|
|
#CHECK: 0
|
|
|
|
# Test that it does print syntax errors.
|
|
echo "begin; echo oops" | $fish -n
|
|
#CHECKERR: fish: Missing end to balance this begin
|
|
#CHECKERR: begin; echo oops
|
|
#CHECKERR: ^
|
|
echo $status
|
|
#CHECK: 127
|
|
|
|
# Littlecheck assumes a status of 127 means the shebang was invalid.
|
|
exit 0
|