diff --git a/tests/checks/complete_directories.fish b/tests/checks/complete_directories.fish index 3db3ee8b1..81756962f 100644 --- a/tests/checks/complete_directories.fish +++ b/tests/checks/complete_directories.fish @@ -13,7 +13,6 @@ __fish_complete_directories test/z __fish_complete_directories test/d #CHECK: test/data/ Directory #CHECK: test/buildroot/ Directory -#CHECK: test/fish_expand_test/ Directory __fish_complete_directories test/data #CHECK: test/data/ Directory __fish_complete_directories test/data/ diff --git a/tests/test.fish b/tests/test.fish index 54ed47fbf..b94fe5a78 100644 --- a/tests/test.fish +++ b/tests/test.fish @@ -15,7 +15,7 @@ cd (dirname (status -f)) if set -q argv[1] set files_to_test $argv.in else - set files_to_test *.in checks/*.fish + set files_to_test checks/*.fish end # These env vars should not be inherited from the user environment because they can affect the @@ -29,56 +29,8 @@ or exit say -o cyan "Testing high level script functionality" -function test_in_file - set -l file $argv[1] - set -l base (basename $file .in) - - echo -n "Testing file $file ... " - set starttime (timestamp) - - ../test/root/bin/fish <$file >$base.tmp.out 2>$base.tmp.err - set -l exit_status $status - set -l res ok - set test_duration (delta $starttime) - - diff $base.tmp.out $base.out >/dev/null - set -l out_status $status - diff $base.tmp.err $base.err >/dev/null - set -l err_status $status - - if test $out_status -eq 0 -a $err_status -eq 0 -a $exit_status -eq 0 - say green "ok ($test_duration $unit)" - # clean up tmp files - rm -f $base.tmp.{err,out} - return 0 - else - say red fail - if test $out_status -ne 0 - say yellow "Output differs for file $file. Diff follows:" - colordiff -u $base.out $base.tmp.out - end - if test $err_status -ne 0 - say yellow "Error output differs for file $file. Diff follows:" - colordiff -u $base.err $base.tmp.err - end - if test $exit_status -ne 0 - say yellow "Exit status differs for file $file." - echo "Unexpected test exit status $exit_status." - end - return 1 - end -end - set -g python (__fish_anypython) -# Test classic '.in' files. -set -l failed 0 -for i in (string match '*.in' -- $files_to_test) - if not test_in_file $i - set failed (math $failed + 1) - end -end - # Test littlecheck files. set littlecheck_files (string match '*.fish' -- $files_to_test) if set -q littlecheck_files[1] diff --git a/tests/test_functions/__fish_print_help.fish b/tests/test_functions/__fish_print_help.fish deleted file mode 100644 index cd2da5512..000000000 --- a/tests/test_functions/__fish_print_help.fish +++ /dev/null @@ -1,6 +0,0 @@ -# We don't want syntax errors to emit command usage help. This makes the -# stderr output considerably shorter and makes it easier to updates the tests -# and documentation without having to make pointless changes to the test -# output files. -function __fish_print_help -end diff --git a/tests/test_functions/display_bytes.fish b/tests/test_functions/display_bytes.fish deleted file mode 100644 index f0e78250f..000000000 --- a/tests/test_functions/display_bytes.fish +++ /dev/null @@ -1,11 +0,0 @@ -# This is needed because GNU and BSD implementations of `od` differ in the whitespace they emit. -# In the past we used the `xxd` command which doesn't suffer from such idiosyncrasies but it isn't -# available on some systems unless you install the Vim editor. Whereas `od` is pretty much -# universally available. See issue #3797. -# -# We use the lowest common denominator format, `-b`, because it should work in all implementations. -# I wish we could use the `-t` flag but it isn't available in every OS we're likely to run on. -# -function display_bytes - od -b | sed -e 's/ */ /g' -e 's/ *$//' -end diff --git a/tests/test_functions/logmsg.fish b/tests/test_functions/logmsg.fish deleted file mode 100644 index 6db67c7b5..000000000 --- a/tests/test_functions/logmsg.fish +++ /dev/null @@ -1,9 +0,0 @@ -function logmsg - echo - echo "####################" - echo "# $argv" - - echo >&2 - echo "####################" >&2 - echo "# $argv" >&2 -end diff --git a/tests/test_functions/mktemp.fish b/tests/test_functions/mktemp.fish deleted file mode 100644 index d99d48b8f..000000000 --- a/tests/test_functions/mktemp.fish +++ /dev/null @@ -1,102 +0,0 @@ -# GNU and BSD mktemp differ in their handling of arguments -# Let's expose a simplified common interface -function mktemp - # usage: mktemp [-d] [-t] [template] - # - # If the -d flag is given, create a directory. - # - # If the -t flag is given, treat the template as a filename relative - # to the temporary directory. The template may contain slashes but only - # the final path component is created by mktemp. The template must not be - # absolute - # - # If no template is given, assume tmp.XXXXXXXXXX and -t. - set -l opts - while set -q argv[1] - switch $argv[1] - case -d - set opts $opts d - case -t - set opts $opts t - case -u - set opts $opts u - case -- - set -e argv[1] - break - case '-*' - echo "mktemp: unknown flag $argv[1]" >&2 - _mktemp_help >&2 - exit 2 - case '*' - break - end - set -e argv[1] - end - - set -l template - if set -q argv[1] - set template $argv[1] - else - set template 'tmp.XXXXXXXXXX' - set opts $opts t - end - - if set -q argv[2] - echo 'mktemp: too many templates' >&2 - _mktemp_help >&2 - exit 1 - end - - # GNU mktemp treats the final occurrence of a sequence of X's as the template token. - # BSD mktemp only treats X's as the template token if they suffix the string. - # So let's outlaw them anywhere besides the end. - # Similarly GNU mktemp requires at least 3 X's, BSD mktemp requires none. Let's require 3. - begin - set -l chars (string split '' -- $template) - set -l found_x - for c in $chars - if test $c = X - set found_x $found_x X - else if set -q found_x[1] - echo 'mktemp: X\'s may only occur at the end of the template' >&2 - _mktemp_help >&2 - exit 1 - end - end - if test (count $found_x) -lt 3 - echo "mktemp: too few X's in template '$template'" >&2 - _mktemp_usage >&2 - exit 1 - end - end - - set -l args - if contains u $opts - set args $args -u - end - if contains d $opts - set args $args -d - end - if contains t $opts - switch $template - case '/*' - echo "mktemp: invalid template '$template' with -t, template must not be absolute" >&2 - _mktemp_help >&2 - exit 1 - end - - if set -q TMPDIR[1] - set template $TMPDIR/$template - else - set template /tmp/$template - end - end - set args $args $template - - realpath (command mktemp $args) -end - -function _mktemp_help - echo 'usage: mktemp [-d] [-t] [template]' - echo 'note: mktemp is a test function, see tests/test_functions/mktemp.fish' -end diff --git a/tests/test_functions/r2l.fish b/tests/test_functions/r2l.fish deleted file mode 100644 index 5401ddb7b..000000000 --- a/tests/test_functions/r2l.fish +++ /dev/null @@ -1,5 +0,0 @@ -function r2l - read line1 - read line2 - echo $line1 then $line2 -end