aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests
Commit message (Collapse)AuthorAge
* Support for a "pending item" in history.Gravatar ridiculousfish2015-04-20
| | | | | | | | | | | Before running a command, we add the command to history, so that if the command causes us to exit it's still captured in history. But that command should not be considered part of history when expanding the history within the command itself. For example, `echo $history[1]` should be the previously run command, not `echo $history[1]` itself. Fixes #2028
* Add a test for issue #1987Gravatar ridiculousfish2015-04-05
|
* Properly fire events for universal variable changesGravatar ridiculousfish2015-02-03
| | | | Fixes #1929
* Introduce tests for #1892Gravatar ridiculousfish2015-01-17
|
* Make octal/hex escapes in printf and echo output literal bytesGravatar ridiculousfish2015-01-15
| | | | Fixes #1894
* Add tests to verify pipes do not conflict with fd redirectionsGravatar ridiculousfish2015-01-04
|
* Improve indentation of blocks inside if/while headersGravatar ridiculousfish2014-12-23
| | | | Fixes #1665
* Correct path in fish_indent testsGravatar ridiculousfish2014-12-23
|
* Implement tests for fish_indentGravatar ridiculousfish2014-12-23
|
* Allow running specific high-level tests by passing the name to test.fishGravatar ridiculousfish2014-12-23
| | | | | | Example: tests/test.fish expansion This will run the tests in expansion.in only
* Disable localizations during testsGravatar Kevin Ballard2014-11-25
|
* Revert "tests/status.in: fix test for locale, fall back to default strings"Gravatar Kevin Ballard2014-11-25
| | | | This reverts commit 3b3fde1c5e5a2525fd4139c3853bfafab877950c.
* tests/status.in: fix test for locale, fall back to default stringsGravatar David Adam2014-11-25
|
* Define a common `mktemp` for testsGravatar Kevin Ballard2014-11-24
| | | | | | | | | | GNU and BSD `mktemp` handle options differently, and it's a useful utility for tests. As such, define a common `mktemp` function wrapper for the test suite. It might actually be nice to expand this for more flags and support it globally, but that may result in confusion for any users of BSD mktemp that expect to be running /bin/mktemp.
* Tweak test runner to set up environment betterGravatar Kevin Ballard2014-11-24
| | | | | | Update the test runners so they set up their own environment in test_util.fish. This simplifies the Makefile and paves the way for adding utility functions for use in the tests themselves.
* Disable printf %a test since it has different output on FreeBSDGravatar ridiculousfish2014-11-02
| | | | Fixes #1139
* BOM test should only run in UTF-8 localesGravatar ridiculousfish2014-11-02
|
* Allow # within string tokensGravatar ridiculousfish2014-11-01
| | | | | | | This means that # must be the first character of the string to start a comment, in line with other shells Fixes #953
* Fix to swallow BOMs in sourced filesGravatar ridiculousfish2014-11-01
| | | | Fixes #1518
* Fix expansion tests on OS XGravatar ridiculousfish2014-10-30
|
* expand: expand tilde to canonical pathsGravatar David Adam2014-10-26
| | | | Work on #1133.
* Unescape strings in keyword detection.Gravatar ridiculousfish2014-10-15
| | | | | This allows keywords to be quoted. However, they may not contain variable or process expansions, etc. Fixes #1398
* Improve error reporting for unclosed blocksGravatar ridiculousfish2014-10-14
|
* Change how arrays and environment variables interact.Gravatar ridiculousfish2014-10-12
| | | | | | | | | | | | Prior to this change, inherited environment variables would be split on colons, becoming an array. This change eliminates that behavior. Now environment variables are always split on the record separator character (ASCII 0x1e), with the exception of a short whitelist of PATH, MANPATH, CDPATH. Likewise, exported variables are also exported delimited by rs, with the exception of the above whitelist. Fixes #1374, also see #1656
* Fix test breakage from 14724401fGravatar Kevin Ballard2014-10-07
| | | | | | | | We can't use $PATHS to test the :-splitting because the global config file adds extra paths based on /etc/paths and /etc/paths.d. Ideally fish would have a way to suppress behavior like that, but for the time being it doesn't.
* env.cpp: correctly check variable_can_be_arrayGravatar David Adam2014-10-08
| | | | Closes #1746.
* Update psub for the new --inherit-variable flagGravatar Kevin Ballard2014-10-02
| | | | | Also do some minor formatting cleanup, make psub return 1 when executed outside of a command substitution, and make it respect $TMPDIR.
* Add new `functions` flag -V/--inherit-variableGravatar Kevin Ballard2014-10-02
| | | | | | | | | | --inherit-variable takes a variable name and snapshots its current value. When the function is executed, it will have a local variable with this value already defined. Printing the function source will include synthesized `set -l` lines for the values. This is primarily useful for functions that are created on the fly, such as in `psub`.
* Rewrite fishscript testrunner for better outputGravatar Kevin Ballard2014-10-02
| | | | | Update the fishscript testrunner to use the same output style as the interactive testrunner.
* Base `status -b` off the parser execution stackGravatar Kevin Ballard2014-09-30
| | | | | | | | | | | Instead of globally marking the state as "in block" when evaluating blocks/functions, update the "in block" status when pushing/popping blocks on the parser stack. Fixes #1729. On a side note, `status -b` is actually pretty useless, because it always returns 0 inside of a function (even without this patch).
* Don't leave is_block in bad state after bad redirectionGravatar Kevin Ballard2014-09-30
| | | | Fixes #1728.
* 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.