aboutsummaryrefslogtreecommitdiff
path: root/test
Commit message (Collapse)AuthorAge
* ex_getln.c: fix compute_cmdrow() not resetting lines_left (#10749)Ghjuvan Lacambre2019-08-12
| | | | | | | | | | | | | | | | | | | | | | | | | Before this commit, when `inccomand` was set to `nosplit`, multi-line substitutions collapsed the command-line. This happened because when ex_getln.c:cursorcmd() computed a msg_row, it was given a cmdline_row one line too high. This happened because message.c:msg_puts_display() was supposed to decrement cmdline_row but didn't, because of the `msg_no_more && lines_left == 0` check placed just before the decrementation part in msg_puts_display's while loop. Every time msg_puts_display writes a line, it decreases `lines_left` (a variable used to know how many lines are left for prompts). Since redrawcommandline() did not reset `lines_left` between calls to msg_puts_display, every time a character was pressed, `lines_left` was decremented. This meant that once the user pressed COLUMNS+ROWS numbers of characters, `lines_left` would reach 0 and prevent msg_row from being decremented. It makes sense to fix setting `lines_left` to `cmdline_row` in `compute_cmdrow` ; after all, computing where the command line row should be placed is equivalent to computing how many `lines_left` of output there are left. Closes #8254.
* Merge #10098 'win: fix msg_puts_printf()'Justin M. Keyes2019-08-12
|\
| * Change to not test msg_puts_pirntf() in unix CIerw72019-06-09
| |
| * Add msg_puts_printf() test for multibyte characterserw72019-06-09
| |
| * Add test for #7967erw72019-06-09
| |
* | api/window: disallow closing non-current window in cmdwin stateBjörn Linse2019-08-10
| |
* | API: nvim_win_close: Fix closing cmdline-window #10087R. Simon2019-08-10
| |
* | win/os_env_exists(): workaround libuv bug #10734Justin M. Keyes2019-08-10
| | | | | | | | | | | | | | | | | | | | os_env_exists() fails on MSVC build: os_env_exists:104: uv_os_getenv(EMPTY_VAR) failed: -4094 UNKNOWN - Revert 396a3945c4eba733b3a99a7ded217af83a400791 - HACK: Windows: return TRUE if uv_os_getenv() returns UV_UNKNOWN, until libuv bug is fixed: https://github.com/libuv/libuv/issues/2413 ref https://github.com/neovim/neovim/commit/396a3945c4eba733b3a99a7ded217af83a400791#r34642361
* | test/cmdline_spec: adjust "no-op"Justin M. Keyes2019-08-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (<Cmd>0<cr> is not really a no-op, it moves the cursor.) Attempt to avoid flaky test: test/functional/ui/cmdline_spec.lua @ 830 Failure message: ./test/functional/ui/screen.lua:579: Row 2 did not match. Expected: | | |*{1:~ }| |{3: }| |:012345678901234567890123| |456789^ | Actual: | | |*{3: }| |:012345678901234567890123| |:012345678901234567890123| |456789^ | ./test/functional/ui/screen.lua:579: in function '_wait' ./test/functional/ui/screen.lua:367: in function 'expect' test/functional/ui/cmdline_spec.lua:841: in function <test/functional/ui/cmdline_spec.lua:830> ref https://github.com/neovim/neovim/pull/10171#issuecomment-520134344 ref #10171
* | test/environ_spec: Windows treats empty as undefinedJustin M. Keyes2019-08-10
| | | | | | | | ref #10657
* | exists(): return false for empty env var #10657Daniel Hahler2019-08-09
| | | | | | | | | | Fixes https://github.com/neovim/neovim/issues/3266 close #10657
* | channels: reflect exit due to signals in exit status code (#10573)Daniel Hahler2019-08-09
| | | | | | | | | | Uses `128 + term_signal` in case of exit due to a signal. Fixes https://github.com/neovim/neovim/issues/10571.
* | tests/functional: expect_msg_seq: use load_adjust (#10727)Daniel Hahler2019-08-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Regardless of the comment "Big timeout for ASAN/valgrind" it would use 10s by default already. This changes it to use `load_adjust`, which itself is only computed on CI now, and outside of any tests - since it has side effects when being used the first time! The failure seen on AppVeyor: [ RUN ] jobs can get the pid value using getpid: ERR test\functional\helpers.lua:167: ============================================================================== got 0 messages (ignored 0), expected 1 stack traceback: test\functional\helpers.lua:167: in function 'expect_msg_seq' test/functional\core\job_spec.lua:288: in function <test/functional\core\job_spec.lua:281> Log: https://ci.appveyor.com/project/neovim/neovim/builds/26537324/job/y1io66fbx399q7h6?fullLog=true#L6554
* | test: Minimize shada/helpers.lua #10728Justin M. Keyes2019-08-09
| |
* | lua: minimal UTF-16 support needed for LSPBjörn Linse2019-08-08
| |
* | tests: use module pattern with test/functional/helpers.lua (#10724)Daniel Hahler2019-08-08
| |
* | tests: output_spec: use shell-test REP_NODELAY (#10726)Daniel Hahler2019-08-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix flaky "shell command :! throttles shell-command output greater than ~10KB:": [ RUN ] shell command :! throttles shell-command output greater than ~10KB: warning: Screen changes were received after the expected state. This indicates indeterminism in the test. Try adding screen:expect(...) (or wait()) between asynchronous (feed(), nvim_input()) and synchronous API calls. - Use screen:redraw_debug() to investigate; it may find relevant intermediate states that should be added to the test to make it more robust. - If the purpose of the test is to assert state after some user input sent with feed(), adding screen:expect() before the feed() will help to ensure the input is sent when Nvim is in a predictable state. This is preferable to wait(), for being closer to real user interaction. - wait() can trigger redraws and consequently generate more indeterminism. Try removing wait(). ERR test/functional/ui/screen.lua:579: Failed to match any screen lines. Expected (anywhere): " %." Actual: |XXXXXXXXXX 591 | |XXXXXXXXXX 592 | |XXXXXXXXXX 593 | |XXXXXXXXXX 594 | | | | | |{3:-- TERMINAL --} | stack traceback: test/functional/ui/screen.lua:579: in function '_wait' test/functional/ui/screen.lua:367: in function 'expect' test/functional/ui/output_spec.lua:63: in function <test/functional/ui/output_spec.lua:53> Log: https://travis-ci.org/neovim/neovim/jobs/569082705#L5355 (gcc-functionaltest-lua)
* | Fix lualint: remove unused varDaniel Hahler2019-08-07
| |
* | tests: more cleanup of plugin/shada_specDaniel Hahler2019-08-07
| | | | | | | | | | Ref: https://github.com/neovim/neovim/pull/10701/commits/330a6713#r311005754 Closes https://github.com/neovim/neovim/pull/10710.
* | Merge pull request #10513 from bfredl/bytecountBjörn Linse2019-08-06
|\ \ | | | | | | api/lua: add {byte_count} parameter to line region change event
| * | lua: support getting UTF-32 and UTF-16 sizes of replaced textBjörn Linse2019-08-06
| | |
| * | lua: add {old_byte_size} to on_lines buffer change eventBjörn Linse2019-08-06
| | |
* | | tests: unit.helpers: provide string with write errors (#10715)Daniel Hahler2019-08-06
|/ / | | | | | | This might help to have more information in case of errors, like mentioned in https://github.com/neovim/neovim/commit/eec529cf9e.
* | Merge #10701 from justinmk/test-fixesJustin M. Keyes2019-08-06
|\ \ | | | | | | test: Eliminate plugin/helpers.lua
| * | test/mbyte_spec: skip broken test on QuickBuildJustin M. Keyes2019-08-06
| | | | | | | | | | | | Forgot `return` in eec529cf9e13.
| * | test: Eliminate plugin/helpers.luaJustin M. Keyes2019-08-05
| | |
* | | f_environ: cleanup/refactorDaniel Hahler2019-08-06
|/ / | | | | | | | | - use os_getenvname_at_index / os_getenv - f_getenv: empty (*p == NUL) is not null (undefined)
* | Merge pull request #10690 from bfredl/lua_printBjörn Linse2019-08-05
|\ \ | | | | | | lua: laundry list (crashes and additions)
| * | lua: add vim.in_fast_event() to check if we are in a luv callbackBjörn Linse2019-08-05
| | |
| * | lua: do not crash on syntax error in debug.debug()Björn Linse2019-08-05
| | |
| * | lua: immediate-callback safe print()Björn Linse2019-08-05
| | |
* | | test/man_spec: remove plugin_helpers.reset()Justin M. Keyes2019-08-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | The call to plugin_helpers.reset() is redundant with the clear() call above it. Probably just a copy-paste mistake. Avoids exit_event race #8813. Helped-by: Björn Linse <bjorn.linse@gmail.com>
* | | test/mbyte_spec: skip broken test on QuickBuildJustin M. Keyes2019-08-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 14:13:04,119 INFO - # ./test/unit/helpers.lua @ 760: mbyte utf_char2bytes for chars 0xa000 - 0xafff 14:13:06,307 WARN - E908: using an invalid value as a String /usr/home/quickbuild/buildagent/workspace/root/neovim/pull-requests-automated/.deps/usr/bin/luajit: ./test/unit/helpers.lua:459: write() error: 32: Broken pipe 14:13:06,308 WARN - stack traceback: 14:13:06,308 WARN - [C]: in function 'throw' 14:13:06,308 WARN - ...quests-automated/.deps/usr/share/lua/5.1/busted/core.lua:149: in function 'error' 14:13:06,308 WARN - ...ts-automated/.deps/usr/share/lua/5.1/luassert/assert.lua:171: in function 'assert' 14:13:06,308 WARN - ./test/unit/helpers.lua:459: in function 'write' 14:13:06,308 WARN - ./test/unit/helpers.lua:626: in function 'hook' 14:13:06,308 WARN - ./test/unit/helpers.lua:574: in function <./test/unit/helpers.lua:557> 14:13:06,308 WARN - [C]: in function 'type' 14:13:06,308 WARN - ...d/.deps/usr/share/lua/5.1/busted/outputHandlers/base.lua:57: in function 'copyElement' 14:13:06,308 WARN - ...d/.deps/usr/share/lua/5.1/busted/outputHandlers/base.lua:66: in function 'format' 14:13:06,308 WARN - ...d/.deps/usr/share/lua/5.1/busted/outputHandlers/base.lua:172: in function 'fn' 14:13:06,308 WARN - ...-requests-automated/.deps/usr/share/lua/5.1/mediator.lua:103: in function 'publish' 14:13:06,308 WARN - ...quests-automated/.deps/usr/share/lua/5.1/busted/core.lua:201: in function 'safe' 14:13:06,308 WARN - ...quests-automated/.deps/usr/share/lua/5.1/busted/core.lua:312: in function 'execute' 14:13:06,308 WARN - ...sts-automated/.deps/usr/share/lua/5.1/busted/execute.lua:58: in function 'execute' 14:13:06,308 WARN - ...ests-automated/.deps/usr/share/lua/5.1/busted/runner.lua:197: in function <...ests-automated/.deps/usr/share/lua/5.1/busted/runner.lua:11> 14:13:06,308 WARN - ./.deps/usr/lib/luarocks/rocks/busted/2.0.0-1/bin/busted:3: in main chunk 14:13:06,308 WARN - [C]: at 0x004041a0 14:13:06,323 WARN - Terminated 14:13:06,325 INFO - Executing post-execute action... 14:13:06,526 INFO - Checking step execute condition... 14:13:06,526 INFO - Step execute condition satisfied, executing... 14:13:06,706 INFO - Executing pre-execute action... 14:13:06,706 INFO - Running step...
* | | test: isCI(): add "name" parameterJustin M. Keyes2019-08-05
| | |
* | | tests: fix flaky "TermClose … fast-exiting terminal job stops"Justin M. Keyes2019-08-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This extra retry() was removed (at my suggestion) in 5b94a2977a22, but it is probably needed: jobwait(…, timeout=0) could return while channel_process_exit_cb() is still queued (so TermClose event didn't fire yet). 20:46:21,288 INFO - not ok 547 - TermClose event triggers when fast-exiting terminal job stops 20:46:21,288 INFO - # test/functional/autocmd/termclose_spec.lua @ 20 20:46:21,288 INFO - # Failure message: ./test/functional/helpers.lua:98: Vim:E121: Undefined variable: g:test_termclose 20:46:21,288 INFO - # stack traceback: 20:46:21,288 INFO - # ./test/functional/helpers.lua:98: in function 'eval' 20:46:21,288 INFO - # test/functional/autocmd/termclose_spec.lua:25: in function <test/functional/autocmd/termclose_spec.lua:20>
* | | :doautocmd : Never show "No matching autocommands" #10689Justin M. Keyes2019-08-05
|/ / | | | | | | | | | | | | | | The message is useless, it doesn't even mention the event name. vim_dev discussion: https://groups.google.com/forum/#!msg/vim_dev/RTbq58TMq9w/Xr4rSoUTCgAJ ref: https://github.com/vim/vim/issues/4300
* | provider: check #Call() if g:loaded_xx_provider=2Justin M. Keyes2019-08-04
| |
* | provider: skip non-provider has() feature-namesJustin M. Keyes2019-08-04
| | | | | | | | | | We don't want to retry autoload sourcing (slow) for every random has() query that finds it way to eval_call_provider().
* | provider: g:loaded_xx_provider=2 means "enabled and working"Justin M. Keyes2019-08-04
| | | | | | | | | | Value of 1 cannot be used, because users might set that in their vimrc to _disable_ a provider, which would confuse :checkhealth and has().
* | provider: decide status by g:loaded_xx_providerJustin M. Keyes2019-08-04
| |
* | provider: let providers decide their statusRui Abreu Ferreira2019-08-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of deciding provider status in eval_has_provider, move the decision to the provider Vim scripts. Previously, provider loading worked as follows: 1. eval_has_provider() verified provider availability by searching for the provider#providername#Call function and cached this verificaion as a static variable for some providers 2. providers short-circuited on loading to prevent the definition of the Call function (with the exception of the node provider that did not) This commit changes the expected interface between nvim and its providers to facilitate provider reloading, by splitting the verification of the provider from the availability of the Call function. eval_has_provider() now checks for a provider#providername#enabled variable. It is up to the provider script to set this to 0 or 1 accordingly. eval_call_provider() remains unchanged. All providers hosting a Call function were updated to respect this. The clipboard provider now has a Reload function to reload the provider.
* | process_stop: uv: do not close stdin first/explicitly #10584Daniel Hahler2019-08-01
| | | | | | | | | | | | | | | | | | | | - process_stop: do not close stdin explicitly. The "close stdin" step was from aa9cb48, before we fixed/reworked the SIGTERM timing logic. So it's probably outdated / no longer needed. - win: jobstop: exit_code 15 GetExitCodeProcess appears to return the used signal. https://docs.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-getexitcodeprocess ref #10573
* | vim-patch:8.1.0572: stopping a job does not work properly on OpenBSDDaniel Hahler2019-07-30
| | | | | | | | | | | | | | | | | | | | | | | | Problem: Stopping a job does not work properly on OpenBSD. Solution: Do not use getpgid() to check the process group of the job processs ID, always pass the negative process ID to kill(). (George Koehler, closes vim/vim#3656) https://github.com/vim/vim/commit/76ab4fd61901090e6af3451ca6c5ca0fc370571f Ref: https://github.com/neovim/neovim/issues/9704 Ref: https://github.com/neovim/neovim/issues/10182#issuecomment-514450069 Closes https://github.com/neovim/neovim/pull/10660
* | vim-patch:8.1.1049: when user tries to exit with CTRL-C message is confusingJan Edmund Lazo2019-07-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: When user tries to exit with CTRL-C message is confusing. Solution: Only mention ":qa!" when there is a changed buffer. (closes vim/vim#4163) https://github.com/vim/vim/commit/a84a3dd6635fcd2e07f510cba6a999585dcc381a vim-patch:8.1.1052: test for CTRL-C message sometimes fails Problem: test for CTRL-C message sometimes fails Solution: Make sure there are no changed buffers. https://github.com/vim/vim/commit/553e5a5c568e7d175b65b0472cd6d9843b25f4c8 vim-patch:8.1.1053: warning for missing return statement Problem: Warning for missing return statement. (Dominique Pelle) Solution: Add return statement. https://github.com/vim/vim/commit/d6c3f1fa2b5e1dd7dc87cf608d72b84ad696b58f
* | TextYankPost: spurious/too-early dispatch during delete #10392Jit2019-07-29
| | | | | | | | | | | | Problem: delete-with-register dispatches TextYankPost before updating yank registers Solution: Add flag to op_yank(). Fixes #10225
* | Merge #10628 from notomo/vim-8.1.1759Justin M. Keyes2019-07-28
|\ \
| * | vim-patch:8.1.1759: no mode char for terminal mapping from maparg()notomo2019-07-28
| | | | | | | | | | | | | | | | | | Problem: No mode char for terminal mapping from maparg(). Solution: Check for TERMINAL mode. (closes vim/vim#4735) https://github.com/vim/vim/commit/14371ed69778107654e39268d0d90982e53ad6e0
* | | build/tests: remove pre/uv.h #10531Daniel Hahler2019-07-28
|/ / | | | | | | | | | | Initially done in 28e59cb22, but does not appear to be necessary anymore. Uses UV_EEXIST directly, just like UV_ENOENT.
* | API: Context: save/restoreAbdelhakeem2019-07-27
| |
* | eval: context: add ctx-family functionsAbdelhakeem2019-07-27
| |