aboutsummaryrefslogtreecommitdiff
path: root/test/functional/eval
Commit message (Collapse)AuthorAge
...
* test/timer_spec: relax lower-boundJustin M. Keyes2018-11-05
| | | | | | | | | | | | | Test is unreliable on macOS 10.13. The lower-bound isn't central to the purpose of the test, so just relax it. ref https://github.com/neovim/neovim/pull/9095#issuecomment-429603452 > We don't guarantee that a X ms timer is triggered during Y ms sleep > for any X<Y, though I would expect the load to be really bad for this > to happen with X=10ms, Y=40ms. related: #6829
* ui: disable clearing almost everywhereBjörn Linse2018-10-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Avoid clearing the screen in most situations. NOT_VALID should be equivalent to CLEAR unless some external force messed up the terminal, for these situations <c-l> and :mode will still clear the screen. Also eliminate some obsolete code in screen.c, that dealt with that in vim drawing window 1 can mess up window 2, but this never happens in nvim. But what about slow terminals? There is two common meanings in which a terminal is said to be "slow": Most commonly (and in the sense of vim:s nottyfast) it means low bandwidth for sending bytes from nvim to the terminal. If the screen is very similar before and after the update_screen(CLEAR) this change should reduce bandwidth. If the screen is quite different, but there is no new regions of contiguous whitespace, clearing doesn't reduce bandwidth significantly. If the new screen contains a lot of whitespace, it will depend of if vsplits are used or not: as long as there is no vsplits, ce is used to cheaply clear the rest of the line, so full-screen clear is not needed to reduce bandwith. However a left vsplit currently needs to be padded with whitespace all the way to the separator. It is possible ec (clear N chars) can be used to reduce bandwidth here if this is a problem. (All of this assumes that one doesn't set Normal guibg=... on a non-BCE terminal, if you do you are doomed regardless of this change). Slow can also mean that drawing pixels on the screen is slow. E-ink screens is a recent example. Avoiding clearing and redrawing the unchanged part of the screen will always improve performance in these cases.
* tests: improve robustness of immediate successes in screen testsBjörn Linse2018-10-15
|
* test: adjust timer testsJustin M. Keyes2018-10-13
| | | | | Timer tests are less reliable on Travis CI macOS 10.12 (most egregious). Also somewhat on 10.13.
* shell/logging: Fix E730 with verbose system({List}) #9009Justin M. Keyes2018-09-21
| | | | | | | | ref https://github.com/neovim/neovim/issues/9001#issuecomment-421843790 Steps to reproduce: :set verbose=9 :call system(['echo']) E730: using List as a String
* test: system_spec: remove redundant clear()Justin M. Keyes2018-09-19
|
* tests: call getchar(1) in timer callbackJan Edmund Lazo2018-09-04
| | | | Test changes from 8.0.1020 and 8.0.1048.
* system(): handle profiling and 'verbose' #8730Marcos Almeida2018-07-29
| | | | | | | | | | | | closes #8362 Vim's code calls `call_shell` directly from `get_system_output_as_rettv` whereas in Nvim this function has been rewritten to not call `call_shell` but to call `os_system` via `do_os_system`, losing the support for profiling and verbose. Changing the code to call `call_shell` from `get_system_output_as_rettv` seems to be too complicated to be worth it on the current version of the code. So this commit duplicates the relevant code.
* Make "v:errmsg", "v:shell_error" and "v:this_session" distinctShougo Matsushita2018-07-23
|
* test: update writefile test for invalid list itemsJan Edmund Lazo2018-06-24
| | | | | | It validates list items with tv_check_str_on_nr() to catch invalid types (ex. E745, E805). If there is an invalid item, it does not write to the file.
* vim-patch:8.0.0609: some people still don't know how to quit (#8571)Jan Edmund Lazo2018-06-17
| | | | | | | | Problem: For some people the hint about quitting is not sufficient. Solution: Put <Enter> separately. Also use ":qa!" to get out even when there are changes. https://github.com/vim/vim/commit/28a8193e3113f676f89fb6312b099d849df881d3
* vim-patch:8.0.0256: missing changes to one file breaks testJan Edmund Lazo2018-06-07
| | | | | | Problem: Tests fail because some changes were not included. Solution: Add changes to evalfunc.c https://github.com/vim/vim/commit/3a29abcb6154d9f55ca8abd6d97e5822b97ac4b3
* test: API: fix tests after improved error captureJustin M. Keyes2018-05-10
|
* API: return non-generic VimL errorsJustin M. Keyes2018-05-09
| | | | | | | | | | - Return VimL errors instead of generic errors for: - nvim_call_function - nvim_call_dict_function - Fix tests which were silently broken before this change. This violates #6150 where we agreed not to translate API errors. But that can be fixed later.
* Merge #8218 'Fix errors reported by PVS'Justin M. Keyes2018-04-27
|\ | | | | closes #4983
| * functests: Fix testlint errorsZyX2018-04-22
| |
| * eval: Silence PVS/V547: E882 may be triggeredZyX2018-04-15
| | | | | | | | | | | | | | | | | | | | I failed to deduce why analyzer thinks E882 may not be triggered, though conditions for triggering it are strange: it would trigger E882 only in the single case “function returned non-number”. Cases “function thrown exception”, or “built-in sorter encountered error” will neither yield E882 nor stop sort()/uniq(). Note though that searching test code revealed that neither E702 nor E882 are not tested anywhere.
* | test: win: use "start" to test backgrounded job (#8171)Jan Edmund Lazo2018-04-15
| |
* | server: init v:servername if $NVIM_LISTEN_ADDRESS is invalidJustin M. Keyes2018-04-11
| | | | | | | | | | Before this change, if $NVIM_LISTEN_ADDRESS was invalid, v:servername was left empty.
* | server: introduce --listen, deprecate $NVIM_LISTEN_ADDRESSJustin M. Keyes2018-04-11
| |
* | serverstop(): return FALSE for invalid addressJustin M. Keyes2018-04-11
|/
* msg: do not scroll entire screen (#8088)Björn Linse2018-03-31
|
* win: defaults: 'shellcmdflag', 'shellxquote' #7343Jan Edmund Lazo2018-03-24
| | | | | | | | | | | | | | | | | | | | | | | | | closes #7698 Wrapping a command in double-quotes allows cmd.exe to safely dequote the entire command as if the user entered the entire command in an interactive prompt. This reduces the need to escape nested and uneven double quotes. The `/s` flag of cmd.exe makes the behaviour more reliable: :set shellcmdflag=/s\ /c Before this patch, cmd.exe cannot use cygwin echo.exe (as opposed to cmd.exe `echo` builtin) even if it is wrapped in double quotes. Example: :: internal echo > cmd /s /c " echo foo\:bar" " foo\:bar" :: cygwin echo.exe > cmd /s /c " "echo" foo\:bar" " foo:bar
* test: win: emulate yes with for loopJan Edmund Lazo2018-02-19
|
* ui: refactor ui optionsBjörn Linse2018-02-13
|
* win: enable backtick_expansion and shell output testsJan Edmund Lazo2018-02-10
|
* test: :! print binary data, control charsJustin M. Keyes2018-02-07
| | | | | | | | | | closes #5442 closes #4142 ref #6618 ref #4376 ref #7844 ref #2958 ref #4338
* shell: update `execute('!cmd')` test to new behaviorBjörn Linse2018-02-06
| | | | And similarly nvim_command_output test
* test: robust cleanup, unique filenames #7950 (#7950)Justin M. Keyes2018-02-01
| | | | | | | Use unique filenames to avoid test conflicts. Use read_file() instead of io.popen(), to ensures the file is closed. Use helpers.rmdir(), it is far more robust than lfs. closes #7911
* os_system(): do not set up input stream for empty string #7951Justin M. Keyes2018-02-01
| | | | | | | | | Test failure: test/functional/eval/system_spec.lua: "works with an empty string" E5677: Error writing input to shell-command: EPIPE ref https://github.com/neovim/neovim/pull/6558#issuecomment-361061035 ref #6554
* win: has("wsl") on Windows Subsystem for Linux #7330Mahmoud Al-Qudsi2018-01-30
| | | | | | | | | | | | | Per CMAKE docs, CMAKE_HOST_SYSTEM_VERSION is the result of `uname -r`: https://cmake.org/cmake/help/v3.4/variable/CMAKE_HOST_SYSTEM_VERSION.html?highlight=uname A numeric version string for the system. On systems that support uname, this variable is set to the output of uname -r. On other systems this is set to major-minor version numbers. On Windows it is something like "6.1", so it won't match ".*-Microsoft". Closes #7329
* test: use helpers.pathroot() to avoid a syscallJan Edmund Lazo2018-01-29
|
* test: fnamemodify with :8 filename modifierJan Edmund Lazo2018-01-28
|
* fixup: get network drive only, not entire pathJan Edmund Lazo2018-01-28
|
* test: win: get current network drive via io.popenJan Edmund Lazo2018-01-28
|
* test: win: add tests for shellslashJan Edmund Lazo2018-01-28
|
* test: fnamemodify()Justin M. Keyes2018-01-28
|
* test/win: fix some environment assumptions #7912George Zhao2018-01-28
| | | | | fix #7909 fix #7910
* eval: save_tv_as_string: Correctly handle an empty stringJames McCoy2018-01-23
| | | | | | | | When tv_get_string_chk returns a non-NULL value, we have a valid string. Propagating an error state (*len = -1, NULL return) for an empty string is invalid. Closes #6554
* test: system(): fix testJustin M. Keyes2018-01-23
| | | | | | | For the test to be valid it should actually send input. ref #3529 ref #5241
* Merge #7860 'fix get_buffer_lines'Justin M. Keyes2018-01-16
|\
| * get_buffer_lines: Return a string, when requested, on invalid inputJames McCoy2018-01-15
|/ | | | Closes #7859
* vim-patch:8.0.0151,3,4 #7389Justin M. Keyes2018-01-15
| | | | | | | | | | | | | | | | | | | vim-patch:8.0.0151 Problem: To pass buffer content to system() and systemlist() one has to first create a string or list. Solution: Allow passing a buffer number. (LemonBoy, closes vim/vim#1240) https://github.com/vim/vim/commit/12c4492dd35e0cd83c8816be2ec849b836109882 vim-patch:8.0.0153 Problem: system() test fails on MS-Windows. Solution: Deal when extra space and CR. https://github.com/vim/vim/commit/9d9c35651712b88c81f1ae11091de1fd0bbbd35c vim-patch:8.0.0154 Problem: system() test fails on OS/X. Solution: Deal with leading spaces. https://github.com/vim/vim/commit/31f19ce0a052f7c76d44a9a190e468c79cf5d56d
* test: win: yes is unavailable on WindowsJan Edmund Lazo2018-01-06
|
* win: test: check non-shell system()Jan Edmund Lazo2018-01-06
|
* test: use unix fileformat to test NULs on systemlistJan Edmund Lazo2018-01-06
|
* functests: Fix linter errorZyX2017-12-16
|
* window: Fix matchaddpos() and enhance error reportingZyX2017-12-15
|
* *: Fix some problems found during reviewZyX2017-12-15
| | | | Still missing: problems in window.c, it should be possible to construct a test for them.
* eval: Fix add()ZyX2017-12-11
|