aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests
Commit message (Collapse)AuthorAge
* Try to fix the Travis test failuresGravatar Kevin Ballard2014-09-23
| | | | | | | It seems expect prioritizes the first pattern in the list, instead of the pattern that matches earliest in the buffer. That seems pretty stupid, but let's try moving the prompt pattern to the end and see if that fixes the Travis failures.
* Fix missing "1 test failed" lineGravatar Kevin Ballard2014-09-23
| | | | | | Also tweak colored output to reset before the newline instead of after, so travis behaves better (for some reason reset causes travis to display the line in black).
* Rejigger test suiteGravatar Kevin Ballard2014-09-23
| | | | | | | | | | Split test_interactive off from test_fishscript and add a new target test_high_level that tests both. Add some Makefile magic so the tests can be run serially without using sub-make, which gets rid of a little noise from the make output. Rewrite interactive tests to look better.
* Support wide characters in printf %cGravatar Kevin Ballard2014-09-21
|
* Allow U+F8FF to be typedGravatar Kevin Ballard2014-09-21
| | | | | | U+F8FF is the last character in the private use area, but it's also the codepoint used for the Apple symbol (), which is typeable on US keyboards in OS X, and so should actually work.
* Fix incorrect error on `read` with 1-character inputGravatar Kevin Ballard2014-09-21
| | | | | | When `read` is given a single character of input (including the newline), it was bailing as if it had been given no input. This is incorrect.
* Add extra logging for interactive test failuresGravatar Kevin Ballard2014-09-21
|
* Implement new `read --null` flagGravatar Kevin Ballard2014-09-21
| | | | | | | | The `--null` flag to `read` makes it split incoming lines on NUL instead of newlines. This is intended for processing the output of a command that uses NUL separators (such as `find -print0`). Fixes #1694.
* Squelch spurious set PATH errors in testGravatar Kevin Ballard2014-09-20
|
* Don't include child directories of $PATH in completionsGravatar Kevin Ballard2014-09-20
| | | | | | | | | Directories are completed like commands, because of implicit cd. However, directories found inside $PATH entries should not be completed, as implicit cd doesn't work there. Similarly, directories should not be completed after the `command` builtin. Fixes #1695.
* Decrement SHLVL when running `exec`Gravatar Kevin Ballard2014-09-19
| | | | | | | | | | | `exec` removes fish from the shell "stack", so SHLVL needs to be decremented to match. This means `exec fish` will result in the same SHLVL in the new fish instance. Also tweak the SHLVL logic to interpret an environment SHLVL of "3foo" as garbage instead of as the value "3". Fixes #1693.
* Tweak interactive debug outputGravatar Kevin Ballard2014-09-19
|
* Dump interactive logs on travis test failureGravatar Kevin Ballard2014-09-19
| | | | | | | As far as I know we can't access the build artifacts from Travis, so we can't check the interactive logs after a test failure. Add an environment variable that causes the test runner to dump the logs itself, and set that variable for Travis.
* Reset fish_bind_mode when changing fish_key_bindingsGravatar Kevin Ballard2014-09-18
| | | | | | | Also avoid resetting bindings if fish_key_bindings is "modified" without actually changing. Fixes #1638.
* Disable fish_title on interactive testsGravatar Kevin Ballard2014-09-08
| | | | | | | This was apparently what was interfering with the tests working on Linux. Tweak .travis.yml to install expect so the tests run on Linux.
* Add a test harness for interactive behaviorGravatar Kevin Ballard2014-09-07
| | | | | | | Add a test harness that uses `expect` to drive Fish to test interactive behavior. Include some tests for `read`.
* Cleanup fish tests a bitGravatar Kevin Ballard2014-09-07
| | | | | | | | | Split `make test` into two targets `make test_low_level` and `make test_fishscript`, primarily so fishscript tests can be rechecked quickly after edits. Reformat the test.fish file and update some of the code to be a little more straightforward (e.g. `if not cmd` instead of `if cmd; else`).
* New -n option for read builtinGravatar Joseph Tannhuber2014-09-03
| | | | | Usage: read -n nchars Reads maximum of nchars characters. If nchars <= 0, there's no limit.
* Fix test output for `complete -e` testsGravatar Kevin Ballard2014-09-02
| | | | | GNU sort behaves stupidly when LC_ALL is not C. This caused the test output to be sorted wrong.
* Add tests for the various `complete -e` changesGravatar Kevin Ballard2014-09-02
|
* Trim trailing newline on cmdsubst when IFS=''Gravatar Kevin Ballard2014-08-29
| | | | | | | When $IFS is empty, command substitution no longer splits on newlines. However we still want to trim off a single trailing newline, as most commands will emit a trailing newline and it makes it harder to work with their output.
* Fix $SHLVLGravatar Kevin Ballard2014-08-29
| | | | | Due to being read-only, SHLVL wasn't being incremented properly for recursive invocations of fish.
* Merge pull request #1630 from kballard/expand_variables_in_quoted_stringsGravatar ridiculousfish2014-08-23
|\ | | | | Fix various expansions issues with variables
* \ Merge branch 'make_type_better' of github.com:kballard/fish-shell into ↵Gravatar ridiculousfish2014-08-21
|\ \ | | | | | | | | | kballard-make_type_better
| | * Fix error span for invalid slice indexesGravatar Kevin Ballard2014-08-21
| | | | | | | | | | | | | | | | | | | | | | | | The span now properly points at the token that was invalid, rather than the start of the slice. Also fix the span for `()[1]` and `()[d]`, which were previously reporting no source location at all.
| | * Parse slices even for empty variablesGravatar Kevin Ballard2014-08-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a variable is parsed as being empty, parse out the slice and validate the indexes anyway, behaving for slicing purposes as if the variable had a single empty value. Besides providing errors when expected, this also fixes the following: set -l foo echo "$foo[1]" This used to print "[1]", now it properly prints nothing.
| | * Fix double expansions (`$$foo`)Gravatar Kevin Ballard2014-08-20
| |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Double expansions of variables had the following issues: * `"$$foo"` threw an error no matter what the value of `$foo` was. * `set -l foo ''; echo $$foo` threw an error because of the expansion of `$foo` to `''`. With this change, double expansion always works properly. When double-expanding a multi-valued variable, in a double-quoted string the first word of the inner expansion is used for the outer expansion, and outside of a quoted string every word is used for the double-expansion in each of the arguments. > set -l foo bar baz > set -l bar one two > set -l baz three four > echo "$$foo" one two baz > echo $$foo one two three four
* | Improve history robustness against corrupt filesGravatar ridiculousfish2014-07-29
| | | | | | | | Fixes #1581
| * read: Support arrays, character splittingGravatar Kevin Ballard2014-07-14
| | | | | | | | | | | | | | | | | | | | Enhance the `read` builtin to support creating an array with the --array flag. With --array, only a single variable name is allowed and the entire input is tokenized and placed into that variable as an array. Also add custom behavior if IFS is empty or unset. In that event, split the input on every character, instead of the previous behavior of doing no splitting at all.
| * Update tests for new `type` behaviorGravatar Kevin Ballard2014-07-13
|/ | | | | | One of the tests was using `>/dev/null` to suppress the `type` output. That needs to be `^/dev/null` now, but instead just go ahead and use the new `-q` flag.
* Teach while loops to not hang forever with no-executeGravatar ridiculousfish2014-07-11
| | | | Fixes #1543
* Switch variable name in tests from foo to something less likely to beGravatar ridiculousfish2014-07-06
| | | | used accidentally
* Add test for issue 1526Gravatar ridiculousfish2014-07-06
|
* 'echo -' should output a dash instead of treating it as optionsGravatar ridiculousfish2014-05-16
| | | | Fixes #1459
* Move the empty function test to tests.Gravatar Konrad Borowski2014-05-06
|
* Add test for empty function name.Gravatar Konrad Borowski2014-05-06
|
* Set the job property of block_t before expanding arguments associatedGravatar ridiculousfish2014-04-02
| | | | with the job, fixing psub. Fixes #1394
* Implement status -n (line number) with new parserGravatar ridiculousfish2014-03-01
|
* Expand the variable name as an ordinary parameter in for loops. AddedGravatar ridiculousfish2014-02-21
| | | | test for it too.
* Tests and fix to allow return to work correctly within if statements. Closes ↵Gravatar ridiculousfish2014-02-12
| | | | #1297.
* Make if statements always return success at the end, matching otherGravatar ridiculousfish2014-02-07
| | | | shells. Fixes #1061.
* Make the test harness output file diffs on failureGravatar ridiculousfish2014-02-04
|
* Makefile/tests: use return values to communicate errorsGravatar David Adam2014-01-15
|
* Added tests for piping an fd other than stdoutGravatar ridiculousfish2014-01-13
|
* Support for implicit cd, no-exec, and the exit builtin. All tests nowGravatar ridiculousfish2013-12-29
| | | | pass (!). Error reporting still unsteady.
* Support for break/continue with new parser executionGravatar ridiculousfish2013-12-28
|
* Finish rewriting detect_errors to use new parser. All tests now pass (!)Gravatar ridiculousfish2013-12-12
|
* Initial work towards various IO cleanups with an eye to fixing ↵Gravatar ridiculousfish2013-08-19
| | | | https://github.com/fish-shell/fish-shell/issues/110
* Cleanup of code that decides whether or not to fork. Fix for issue where ↵Gravatar ridiculousfish2013-06-16
| | | | stderr may be output twice.
* Try to fix printf tests on LinuxGravatar ridiculousfish2013-04-03
|