fish-shell/tests
Charles Ferguson 3f129b570c Add test harness for fish command invocation, and tests for init command.
The new '-C' initial command needs some tests, and as there are no
tests just yet for the command invocation, this change adds a harness
and calls it from the high-level tests in the Makefile.

The tests are similar in style to the other high level tests, in that
we capture the output and compare it to that which we expect. The
harness itself is written in bash - sorry - because we're testing the
fish shell's invocation, and trying to do that with the fish we've
just built wouldn't actually make for a very useful test when things
go wrong.

The 'tests/invocation.sh' script can be executed manually, or as part
of the 'make test' target, to make it easy to use both as part of the
development and as part of automation.

The harness has only been tested on linux with bash 4.3.11, and requires
grep and sed. Although not tested with OS X, I believe I have avoided
the syntax which is inconsistent.

The tests added here cover just the initial command's basic execution,
and when it is mixed with the regular '-c' command.
2017-06-29 21:00:08 -07:00
..
invocation Add test harness for fish command invocation, and tests for init command. 2017-06-29 21:00:08 -07:00
test_functions remove dependency on xxd 2017-01-31 22:10:53 -08:00
__fish_complete_directories.err improve __fish_complete_directories function 2017-04-11 13:45:53 -07:00
__fish_complete_directories.in improve __fish_complete_directories function 2017-04-11 13:45:53 -07:00
__fish_complete_directories.out improve __fish_complete_directories function 2017-04-11 13:45:53 -07:00
__fish_contains_opt.err another __fish_sgrep replacement 2017-04-13 23:14:36 -07:00
__fish_contains_opt.in another __fish_sgrep replacement 2017-04-13 23:14:36 -07:00
__fish_contains_opt.out another __fish_sgrep replacement 2017-04-13 23:14:36 -07:00
__fish_not_contain_opt.err fix typo in unit test 2017-06-09 13:35:00 -07:00
__fish_not_contain_opt.in another __fish_sgrep replacement 2017-04-13 23:14:36 -07:00
__fish_not_contain_opt.out another __fish_sgrep replacement 2017-04-13 23:14:36 -07:00
.gitignore tweak gitignore rules for *tests* directory 2017-02-20 20:29:43 -08:00
abbr.err Add the possibility to rename abbreviations 2016-12-01 14:42:20 -08:00
abbr.in Add the possibility to rename abbreviations 2016-12-01 14:42:20 -08:00
abbr.out Add the possibility to rename abbreviations 2016-12-01 14:42:20 -08:00
alias.err harden alias against foo; bar 2017-02-20 20:23:55 -08:00
alias.in harden alias against foo; bar 2017-02-20 20:23:55 -08:00
alias.out harden alias against foo; bar 2017-02-20 20:23:55 -08:00
bind.err limit bind mode names to the rules for var names 2017-04-22 20:33:56 -07:00
bind.expect fix bug I introduced by previous squash merge 2017-04-17 21:23:03 -07:00
bind.expect.err Reset fish_bind_mode when changing fish_key_bindings 2014-09-18 15:46:17 -07:00
bind.expect.out Add bind --list-modes option 2017-03-20 16:42:53 +01:00
bind.in limit bind mode names to the rules for var names 2017-04-22 20:33:56 -07:00
bind.out limit bind mode names to the rules for var names 2017-04-22 20:33:56 -07:00
commandline.expect Stop unescaping strings with commandline -b 2016-01-10 17:25:22 -08:00
commandline.expect.err Stop unescaping strings with commandline -b 2016-01-10 17:25:22 -08:00
commandline.expect.out Stop unescaping strings with commandline -b 2016-01-10 17:25:22 -08:00
exit.expect correct handling of SIGHUP by interactive fish 2017-01-24 15:24:13 -08:00
exit.expect.err correct handling of SIGHUP by interactive fish 2017-01-24 15:24:13 -08:00
exit.expect.out correct handling of SIGHUP by interactive fish 2017-01-24 15:24:13 -08:00
expansion.err Remove "Array index out of bounds" errors 2017-06-20 17:52:23 -07:00
expansion.in Ignore too large indices in parse_slice 2017-06-20 17:52:31 -07:00
expansion.out Ignore too large indices in parse_slice 2017-06-20 17:52:31 -07:00
fkr.expect fix race condition in fkr test 2016-12-19 17:44:54 -08:00
fkr.expect.err don't allow f-k-r to run if stdin/stdout not a tty 2016-06-26 21:51:00 -07:00
fkr.expect.out f-k-r should use the user's locale 2016-06-30 20:49:56 -07:00
function.err Error message prefix: Prefix the message, not the context 2017-04-11 20:00:29 -07:00
function.in implement means to learn about a functions source 2017-01-20 21:48:41 -08:00
function.out fix functions --copy 2016-11-28 18:04:37 -08:00
functions.err implement means to learn about a functions source 2017-01-20 21:48:41 -08:00
functions.in rename --metadata to --details 2017-04-30 20:21:40 -07:00
functions.out implement means to learn about a functions source 2017-01-20 21:48:41 -08:00
gen_output.fish Don't leave is_block in bad state after bad redirection 2014-09-30 17:06:56 -07:00
generic.expect Treat comments ending in backslashes as not continuing onto the next line 2015-05-02 18:22:20 -07:00
generic.expect.err Allow U+F8FF to be typed 2014-09-21 21:03:44 -07:00
generic.expect.out Allow U+F8FF to be typed 2014-09-21 21:03:44 -07:00
history_sample_bash improve bash history importing 2017-05-20 21:03:31 -07:00
history_sample_corrupt1 Improve history robustness against corrupt files 2014-07-29 14:42:03 -07:00
history_sample_fish_1_x Support for importing fish 1.x's history and format, and also bash 2012-06-15 16:24:05 -07:00
history_sample_fish_2_0 Support for importing fish 1.x's history and format, and also bash 2012-06-15 16:24:05 -07:00
history.err eliminate many "unused parameter" warnings 2016-10-09 14:38:26 -07:00
history.expect make history searching case insensitive by default 2016-10-16 20:18:16 -07:00
history.expect.err correct handling of history args 2016-07-20 21:18:48 -07:00
history.expect.out make history searching case insensitive by default 2016-10-16 20:18:16 -07:00
history.in alter history sub-command handling 2016-09-18 20:09:06 -07:00
history.out make it hard to use history command incorrectly 2016-09-09 19:23:06 -07:00
indent.err Implement tests for fish_indent 2014-12-23 15:46:47 -08:00
indent.in enhance fish_indent to normalize keywords 2016-04-10 18:40:11 -07:00
indent.out enhance fish_indent to normalize keywords 2016-04-10 18:40:11 -07:00
interactive.config Tweak test runner to set up environment better 2014-11-24 01:51:07 -08:00
interactive.expect.rc don't allow f-k-r to run if stdin/stdout not a tty 2016-06-26 21:51:00 -07:00
interactive.fish remove dependency on xxd 2017-01-31 22:10:53 -08:00
invocation.sh Add test harness for fish command invocation, and tests for init command. 2017-06-29 21:00:08 -07:00
jobs.err split builtin bg into its own module 2017-06-16 21:01:56 -07:00
jobs.in split builtin bg into its own module 2017-06-16 21:01:56 -07:00
jobs.out implement disown builtin 2017-04-29 19:20:03 +08:00
line-continuation.err fix handling of line continuation in keywords 2016-04-08 21:05:46 -07:00
line-continuation.in fix handling of line continuation in keywords 2016-04-08 21:05:46 -07:00
line-continuation.out fix handling of line continuation in keywords 2016-04-08 21:05:46 -07:00
locale.err remove unset vars from the environment 2016-06-15 22:10:11 -07:00
locale.in remove dependency on xxd 2017-01-31 22:10:53 -08:00
locale.out remove dependency on xxd 2017-01-31 22:10:53 -08:00
math.err add floating point output to math command 2016-05-03 19:29:04 -07:00
math.in Add test for long numbers in math 2016-12-29 14:00:15 +01:00
math.out Add test for long numbers in math 2016-12-29 14:00:15 +01:00
printf.err use a consistent ERANGE message 2017-02-20 18:43:13 -08:00
printf.in correct printf handling of %x with long ints 2017-02-20 17:58:08 -08:00
printf.out correct printf handling of %x with long ints 2017-02-20 17:58:08 -08:00
random.err implement an improved random command 2016-12-20 16:46:33 -08:00
random.in implement an improved random command 2016-12-20 16:46:33 -08:00
random.out implement an improved random command 2016-12-20 16:46:33 -08:00
read.err read: Support arrays, character splitting 2014-07-14 00:46:38 -07:00
read.expect Capture read command contents without displaying it via a silent flag. 2017-04-11 19:06:48 -07:00
read.expect.err Add a test harness for interactive behavior 2014-09-07 23:56:59 -07:00
read.expect.out Capture read command contents without displaying it via a silent flag. 2017-04-11 19:06:48 -07:00
read.in put upper bound on data read will consume 2017-02-09 21:04:46 -08:00
read.out Correctly handle multiple chunks from read_in_chunks 2017-01-21 12:43:20 -08:00
realpath.err make fish's realpath compatible with GNU realpath 2016-10-04 20:19:44 -07:00
realpath.in make fish's realpath compatible with GNU realpath 2016-10-04 20:19:44 -07:00
realpath.out make fish's realpath compatible with GNU realpath 2016-10-04 20:19:44 -07:00
setenv.err fix setenv and add unit tests 2017-04-05 15:31:13 -07:00
setenv.in fix setenv and add unit tests 2017-04-05 15:31:13 -07:00
setenv.out fix setenv and add unit tests 2017-04-05 15:31:13 -07:00
signals.expect correct handling of SIGHUP by interactive fish 2017-01-24 15:24:13 -08:00
signals.expect.err correct handling of SIGHUP by interactive fish 2017-01-24 15:24:13 -08:00
signals.expect.out correct handling of SIGHUP by interactive fish 2017-01-24 15:24:13 -08:00
status.err make status saner vis-a-vis arg parsing 2016-11-07 12:11:08 -08:00
status.in status returns the function name when called with -u parameter 2017-04-26 20:15:45 -07:00
status.out implement status function when in a breakpoint 2017-06-23 22:14:21 -07:00
string.err implement string unescape 2017-06-23 22:23:01 -07:00
string.in implement string unescape 2017-06-23 22:23:01 -07:00
string.out implement string unescape 2017-06-23 22:23:01 -07:00
test_util.fish don't use set_color reset 2016-11-11 19:07:52 -08:00
test.fish don't run fish_update_completions in unit tests 2017-01-29 18:00:48 -08:00
test1.err
test1.in add unit test for echo -h 2017-06-18 22:25:00 -07:00
test1.out add unit test for echo -h 2017-06-18 22:25:00 -07:00
test2.err
test2.in
test2.out
test3.err
test3.in Tighten MANPATH test 2017-04-18 22:42:38 +02:00
test3.out Correctly un-export an env var when it is shadowed 2015-06-12 16:05:59 -07:00
test4.err
test4.in emit error message when test is given invalid int 2016-11-27 20:37:30 -08:00
test4.out another step in fixing issue #3985 2017-05-07 21:20:31 -07:00
test5.err Error message prefix: Prefix the message, not the context 2017-04-11 20:00:29 -07:00
test5.in make testing on local servers hermetic 2016-02-25 17:16:36 -08:00
test5.out make testing on local servers hermetic 2016-02-25 17:16:36 -08:00
test6.err allow complete -d '' 2016-11-17 14:53:50 -08:00
test6.in Add a new completion test for optional arguments 2016-12-21 15:46:46 -08:00
test6.out Add a new completion test for optional arguments 2016-12-21 15:46:46 -08:00
test7.err Add a test case for switch error code (issue #161) 2012-06-24 13:43:44 -07:00
test7.in Update tests for new type behavior 2014-07-13 19:11:29 -07:00
test7.out Finish rewriting detect_errors to use new parser. All tests now pass (!) 2013-12-12 18:18:07 -08:00
test8.err Add variable expand ranges 2012-07-08 09:19:11 +08:00
test8.in Allow and/or statements to attach to the if/while header 2015-12-19 14:49:07 -08:00
test8.out Write tests for new if/and/or behavior (#1428) 2015-12-19 11:32:57 -08:00
test9.err Error message prefix: Prefix the message, not the context 2017-04-11 20:00:29 -07:00
test9.in a step to remove __fish_sgrep per issue #2450 2017-04-11 21:53:13 -07:00
test9.out psub: add -s, --suffix 2015-11-14 13:15:30 +01:00
top.out Don't leave is_block in bad state after bad redirection 2014-09-30 17:06:56 -07:00
umask.err fix umask handling of symbolic modes 2017-03-28 16:28:24 -07:00
umask.in fix umask handling of symbolic modes 2017-03-28 16:28:24 -07:00
umask.out fix umask handling of symbolic modes 2017-03-28 16:28:24 -07:00
vars_as_commands.err Error message prefix: Prefix the message, not the context 2017-04-11 20:00:29 -07:00
vars_as_commands.in don't print internal token in error message 2016-07-10 20:02:39 -07:00
vars_as_commands.out don't print internal token in error message 2016-07-10 20:02:39 -07:00