Port some smaller tests to littlecheck

This commit is contained in:
Fabian Homborg 2020-02-07 22:10:55 +01:00
parent eaf84c553d
commit f8af262af7
23 changed files with 102 additions and 115 deletions

View File

@ -1,7 +1,13 @@
#RUN: %fish %s
# Tests for the "builtin" builtin/keyword.
builtin -q string; and echo String exists
#CHECK: String exists
builtin -q; and echo None exists
builtin -q string echo banana; and echo Some of these exist
#CHECK: Some of these exist
builtin -nq string
#CHECKERR: builtin: Invalid combination of options,
#CHECKERR: --query and --names are mutually exclusive
echo $status
#CHECK: 2
exit 0

View File

@ -1,5 +1,4 @@
# vim: set filetype=fish:
#
#RUN: %fish %s
# Test the `functions` builtin
function f1
@ -15,10 +14,8 @@ end
# ==========
# Verify that `functions --details` works as expected when given the name of a
# known function.
set x (functions --details f1)
if test "$x" != "stdin"
echo "Unexpected output for 'functions --details f1': $x" >&2
end
functions --details f1
#CHECK: {{.*}}checks/functions.fish
# ==========
# Verify that `functions --details` works as expected when given the name of an
@ -82,3 +79,4 @@ or echo "Failed to find description 2" >&2
# so this is the best we can do.
functions --erase ls
type -t ls
#CHECK: file

View File

@ -1,4 +1,4 @@
# Test psub behavior
#RUN: %fish %s
set -l filename (echo foo | psub --testing)
test -f $filename
or echo 'psub is not a regular file' >&2
@ -21,6 +21,9 @@ rm $filename
cat (echo foo | psub)
cat (echo bar | psub --fifo)
cat (echo baz | psub)
#CHECK: foo
#CHECK: bar
#CHECK: baz
set -l filename (echo foo | psub)
if test -e $filename
@ -28,6 +31,7 @@ if test -e $filename
else
echo 'psub file was deleted'
end
#CHECK: psub file was deleted
# The --file flag is the default behavior.
if count (echo foo | psub -s .cc | string match -r '\.cc$') >/dev/null
@ -35,6 +39,7 @@ if count (echo foo | psub -s .cc | string match -r '\.cc$') >/dev/null
else
echo 'psub filename does not end with .cc'
end
#CHECK: psub filename ends with .cc
# Make sure we get the same result if we explicitly ask for a temp file.
if count (echo foo | psub -f -s .cc | string match -r '\.cc$') >/dev/null
@ -42,6 +47,7 @@ if count (echo foo | psub -f -s .cc | string match -r '\.cc$') >/dev/null
else
echo 'psub filename does not end with .cc'
end
#CHECK: psub filename ends with .cc
set -l filename (echo foo | psub -s .fish)
if test -e (dirname $filename)
@ -49,6 +55,7 @@ if test -e (dirname $filename)
else
echo 'psub directory was deleted'
end
#CHECK: psub directory was deleted
set -l diffs (comm -3 (__fish_print_help psub | psub) (psub -hs banana | psub))
test -z "$diffs"

View File

@ -1,3 +1,4 @@
#RUN: %fish %s
set -l max 9223372036854775807
set -l close_max 9223372036854775806
set -l min -9223372036854775807
@ -6,21 +7,37 @@ set -l diff_max 18446744073709551614
# check failure cases
random a
#CHECKERR: random: Argument 'a' is not a valid integer
random $diff_max
#CHECKERR: random: Argument '18446744073709551614' is not a valid integer
random -- 1 2 3 4
#CHECKERR: random: Too many arguments
random -- 10 -10
#CHECKERR: random: END must be greater than START
random -- 10 $diff_max
#CHECKERR: random: Argument '18446744073709551614' is not a valid integer
random -- 1 1d
random -- 1 1c 10
#CHECKERR: random: Argument '1d' is not a valid integer
#CHECKERR: random: Argument '1c' is not a valid integer
random -- 10 10
#CHECKERR: random: END must be greater than START
random -- 1 - 10
#CHECKERR: random: Argument '-' is not a valid integer
random -- 1 -1 10
#CHECKERR: random: Argument '-1' is not a valid integer
random -- 1 $min 10
#CHECKERR: random: Argument '-9223372036854775807' is not a valid integer
random -- 1 0 10
#CHECKERR: random: STEP must be a positive integer
random -- 1 11 10
#CHECKERR: random: range contains only one possible value
random -- 0 $diff_max $max
#CHECKERR: random: range contains only one possible value
random choice
#CHECKERR: random: nothing to choose from
random choic a b c
#CHECKERR: random: Too many arguments
function check_boundaries
if not test $argv[1] -ge $argv[2] -a $argv[1] -le $argv[3]

View File

@ -1,5 +1,4 @@
# vim: set filetype=fish:
#RUN: %fish %s
status -b
and echo '"status -b" unexpectedly returned true at top level'
@ -22,36 +21,52 @@ and echo '"status is-interactive" unexpectedly returned true for a non-interacti
# We should get an error message about an invalid combination of flags.
status --is-interactive --is-login
#CHECKERR: status: Invalid combination of options,
#CHECKERR: you cannot do both 'is-interactive' and 'is-login' in the same invocation
# We should get an error message about an unexpected arg for `status
# is-block`.
status -b is-interactive
#CHECKERR: status: Invalid combination of options,
#CHECKERR: you cannot do both 'is-block' and 'is-interactive' in the same invocation
# Try to set the job control to an invalid mode.
status job-control full1
#CHECKERR: status: Invalid job control mode 'full1'
status --job-control=1none
#CHECKERR: status: Invalid job control mode '1none'
# Now set it to a valid mode.
status job-control none
# Check status -u outside functions
status current-function
#CHECK: Not a function
function test_function
status current-function
end
test_function
#CHECK: test_function
eval test_function
#CHECK: test_function
logmsg Future Feature Flags
# Future Feature Flags
status features
#CHECK: stderr-nocaret off 3.0 ^ no longer redirects stderr
#CHECK: qmark-noglob off 3.0 ? no longer globs
#CHECK: regex-easyesc off 3.1 string replace -r needs fewer \'s
status test-feature stderr-nocaret ; echo $status
#CHECK: 1
status test-feature not-a-feature ; echo $status
#CHECK: 2
logmsg 'Ensure $status isn\'t reset before a function is executed'
# Ensure $status isn't reset before a function is executed
function echo_last
echo $status
end
false; echo_last; echo $status #1
#CHECK: 1
#CHECK: 0

View File

@ -0,0 +1,30 @@
#RUN: %fish %s
# Test that using variables as command names work correctly.
$EMPTY_VARIABLE
#CHECKERR: {{.*}}checks/vars_as_commands.fish (line {{\d+}}): The expanded command was empty.
#CHECKERR: $EMPTY_VARIABLE
#CHECKERR: ^
"$EMPTY_VARIABLE"
#CHECKERR: {{.*}}checks/vars_as_commands.fish (line {{\d+}}): The expanded command was empty.
#CHECKERR: "$EMPTY_VARIABLE"
#CHECKERR: ^
set CMD1 echo basic command as variable
$CMD1
#CHECK: basic command as variable
set CMD2 echo '(' not expanded again
$CMD2
#CHECK: ( not expanded again
# Test using variables with the builtin decorator
builtin $CMD1
#CHECK: basic command as variable
# Test implicit cd
set CMD3 /usr/bin
$CMD3 && echo $PWD
#CHECK: /usr/bin
exit 0

View File

@ -0,0 +1,18 @@
#RUN: %fish %s
echo $foo[0]
echo $foo[ 0 ]
echo $foo[ 00 ]
#CHECKERR: {{.*}}checks/zero_based_array.fish (line {{\d+}}): array indices start at 1, not 0.
#CHECKERR: echo $foo[0]
#CHECKERR: ^
#CHECKERR: {{.*}}checks/zero_based_array.fish (line {{\d+}}): array indices start at 1, not 0.
#CHECKERR: echo $foo[ 0 ]
#CHECKERR: ^
#CHECKERR: {{.*}}checks/zero_based_array.fish (line {{\d+}}): array indices start at 1, not 0.
#CHECKERR: echo $foo[ 00 ]
#CHECKERR: ^
# and make sure these didn't break
set -l foo one two three
echo $foo[001]
#CHECK: one

View File

View File

@ -1 +0,0 @@
file

View File

View File

@ -1,7 +0,0 @@
foo
bar
baz
psub file was deleted
psub filename ends with .cc
psub filename ends with .cc
psub directory was deleted

View File

@ -1,16 +0,0 @@
random: Argument 'a' is not a valid integer
random: Argument '18446744073709551614' is not a valid integer
random: Too many arguments
random: END must be greater than START
random: Argument '18446744073709551614' is not a valid integer
random: Argument '1d' is not a valid integer
random: Argument '1c' is not a valid integer
random: END must be greater than START
random: Argument '-' is not a valid integer
random: Argument '-1' is not a valid integer
random: Argument '-9223372036854775807' is not a valid integer
random: STEP must be a positive integer
random: range contains only one possible value
random: range contains only one possible value
random: nothing to choose from
random: Too many arguments

View File

View File

@ -1,12 +0,0 @@
status: Invalid combination of options,
you cannot do both 'is-interactive' and 'is-login' in the same invocation
status: Invalid combination of options,
you cannot do both 'is-block' and 'is-interactive' in the same invocation
status: Invalid job control mode 'full1'
status: Invalid job control mode '1none'
####################
# Future Feature Flags
####################
# Ensure $status isn't reset before a function is executed

View File

@ -1,16 +0,0 @@
Not a function
test_function
test_function
####################
# Future Feature Flags
stderr-nocaret off 3.0 ^ no longer redirects stderr
qmark-noglob off 3.0 ? no longer globs
regex-easyesc off 3.1 string replace -r needs fewer \'s
1
2
####################
# Ensure $status isn't reset before a function is executed
1
0

View File

@ -1,2 +0,0 @@
builtin: Invalid combination of options,
--query and --names are mutually exclusive

View File

@ -1,3 +0,0 @@
String exists
Some of these exist
2

View File

@ -1,6 +0,0 @@
fish: The expanded command was empty.
$EMPTY_VARIABLE
^
fish: The expanded command was empty.
"$EMPTY_VARIABLE"
^

View File

@ -1,19 +0,0 @@
# Test that using variables as command names work correctly.
$EMPTY_VARIABLE
"$EMPTY_VARIABLE"
set CMD1 echo basic command as variable
$CMD1
set CMD2 echo '(' not expanded again
$CMD2
# Test using variables with the builtin decorator
builtin $CMD1
# Test implicit cd
set CMD3 /usr/bin
$CMD3 && echo $PWD
exit 0

View File

@ -1,4 +0,0 @@
basic command as variable
( not expanded again
basic command as variable
/usr/bin

View File

@ -1,9 +0,0 @@
fish: array indices start at 1, not 0.
echo $foo[0]
^
fish: array indices start at 1, not 0.
echo $foo[ 0 ]
^
fish: array indices start at 1, not 0.
echo $foo[ 00 ]
^

View File

@ -1,8 +0,0 @@
echo $foo[0]
echo $foo[ 0 ]
echo $foo[ 00 ]
# and make sure these didn't break
set -l foo one two three
echo $foo[001]

View File

@ -1 +0,0 @@
one