fish-shell/tests/checks/no-execute.fish

37 lines
900 B
Fish
Raw Normal View History

#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 time non-execution.
echo "time echo 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
2022-08-11 23:22:03 +08:00
#CHECKERR: ^~~~^
echo $status
#CHECK: 127
echo "begin" > broken
$fish -n $PWD/broken
#CHECKERR: /{{.*}}broken (line 1): Missing end to balance this begin
#CHECKERR: begin
#CHECKERR: ^~~~^
#CHECKERR: warning: Error while reading file /{{.*}}broken
rm broken
# Littlecheck assumes a status of 127 means the shebang was invalid.
exit 0