aboutsummaryrefslogtreecommitdiff
path: root/test/functional/provider
Commit message (Collapse)AuthorAge
...
* tests: use runtime from build for doc/tags with :help (#10479)Daniel Hahler2019-08-28
| | | | | | | | | | | | This is better practice in general, and allows to remove the "helptags ALL" hacks. Ref: https://github.com/neovim/neovim/issues/8824 Ref: https://github.com/neovim/neovim/commit/f1b67c3453c * Makefile: fix dependencies with regard to helptags - use the file as the main target to avoid unnecessary triggering - use "make oldtest" on Travis to ensure it gets built
* pyxversion: fix logic error #10759Björn Linse2019-08-14
| | | | Do not incorrectly prefer python2 if python3 is working. fixes #10758
* 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: 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.
* messages: use proper multiline error message for rpcrequest and API wrappersBjörn Linse2019-05-26
|
* test: cleanupJustin M. Keyes2019-05-05
| | | | | Avoid hyper-granularity. Don't need subdirectories for every little thing.
* provider: improve error message if provider is missing (#9487)Marco Hinz2019-01-12
| | | | | | | | | Move `has_eval_provider()` check to `eval_call_provider()` to make sure that every code path calls it first. Previously we would, when pynvim was missing, get a nice error message for `:python3 1`, but not for `:py3file blah`. Fixes https://github.com/neovim/neovim/issues/9485
* test: :ruby reports E319 if provider is missingMarco Hinz2018-12-12
|
* provider: repurpose E319Justin M. Keyes2018-12-12
| | | | | | | | | | | | | | In Vim (and some vestigial parts of Nvim) E319 was a placeholder for ex_ni commands, i.e. commands that are only available in certain builds of Vim. That is obviously counter to Nvim's goals: all Nvim commands are available on all platforms and build types (the remaining ex_ni commands are actually just missing providers). We need an error id for "missing provider", so it makes sense to use E319 for that purpose. ref #9344 ref #3577
* test: give more time for nodejsJan Edmund Lazo2018-06-04
| | | | | | Link neovim package to project root directory. Increase delay to 3 seconds. Reduce the total lines in temporary node scripts.
* test: nodejs_spec: fix test after upstream API changeJustin M. Keyes2018-05-15
| | | | closes https://github.com/neovim/node-client/issues/72
* test: nodejs_spec: allow more time for nodejs initJustin M. Keyes2018-04-18
|
* provider/RPC: apply_autocmds_group(): fix double-freeJustin M. Keyes2018-03-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | During provider dispatch, eval_call_provider() saves global state--including pointers, such as `autocmd_fname`--into `provider_caller_scope` which is later restored by f_rpcrequest(). But `autocmd_fname` is special-cased in eval_vars(), for performance (see Vim patch 7.2.021; this is also the singular purpose of the `autocmd_fname_full` global. Yay!) If eval_vars() frees `autocmd_fname` then its provider-RPC-scoped alias becomes a problem. Solution: Don't free autocmd_fname in eval_vars(), just copy into it. closes #5245 closes #5617 Reference ------------------------------------------------------------------------ Vim patch 7.2.021 https://github.com/vim/vim/commit/f6dad43c98f47da1ff9d8c99b320fc3674f83c63 Problem: When executing autocommands getting the full file name may be slow. (David Kotchan) Solution: Postpone calling FullName_save() until autocmd_fname is used. vim_dev discussion (2008): "Problem with CursorMoved AutoCommand when Editing Files on a Remote WIndows Share" https://groups.google.com/d/msg/vim_dev/kj95weZa_eE/GTgj4aq5sIgJ
* test/python: less-noisy Python skip-messageJustin M. Keyes2018-02-12
| | | | | Developer can use :checkhealth to get more details, don't need to blast the details in the skip-message every time.
* provider/nodejs: check version in Detect()Justin M. Keyes2017-12-17
|
* test: remove inspect test; set NODE_PATH in nodejs_spec.luaJan Edmund Lazo2017-12-17
| | | | | | | | | | | provider#node#can_inspect will fail on some systems because it is common to have old node versions in OS (any Linux OS that has LTS releases) and CI (Travis, Appveyor). NODE_PATH can be trivially set with VimL. Build scripts don't have to set it for the nodejs tests to work. NODE_PATH is optional to begin with and is used only as a workaround for the neovim node.js host.
* ci: nodejs client acceptance-test #7706Jan Edmund Lazo2017-12-17
| | | | | | | | | | | | | | | | | | | | | | | | ci: install nodejs 8 in Appveyor, Travis provider: check node version for debug support Resolve https://github.com/neovim/neovim/pull/7577#issuecomment-350590592 for Unix. provider: test if nodejs in ci supports --inspect-brk nodejs host for neovim requires nodejs 6+ to work properly. nodejs 6.12+ or 7.6+ is required for debug support via `node --inspect-brk`. provider: run cli.js of nodejs host directly npm shims are useless because the user cannot set node to debug mode via --inspect-brk. This is problematic on Windows which use batchfiles and shell scripts to compensate for not supporting shebang. The patch uses `npm root -g` to get the absolute path of the global npm modules. If that fails, then the user did not install neovim npm package globally. Use that absolute path to find `neovim/bin/cli.js`, which is what the npm shim actually runs with node. glob() is for a simple file check in case bin/ is removed because the npm shims are ignored now.
* doc: replace ":CheckHealth" with ":checkhealth"Justin M. Keyes2017-10-17
|
* functests: Replace check_provider -> missing_provider with err reportZyX2017-05-13
|
* functests: Test invalid behaviourZyX2017-05-13
| | | | Test correctly fail for oneline ruby, python and python3.
* api: Do not truncate errors <1 MB. #6237Sander Bosma2017-04-23
| | | | Closes #5984
* rplugin: Call s:LoadRemotePlugins() on startup.Justin M. Keyes2017-03-11
| | | | | | | | | | Dispense with the FuncUndefined/CmdUndefined quasi-optimization. If there are no rplugins, plugin/rplugin.vim takes less than 1ms. Closes #5821 Closes #6250 Helped-by: Qiming zhao <chemzqm@gmail.com>
* Merge #4980 'Support legacy `:ruby` commands'.Justin M. Keyes2016-07-10
|\
| * Add :ruby, :rubyfile, and :rubydo ex commandsAlex Genco2016-07-02
|/
* functests: Check logs in lua codeZyX2016-06-10
| | | | | | It is otherwise impossible to determine which test failed sanitizer/valgrind check. test/functional/helpers.lua module return was changed so that tests which do not provide after_each function to get new check will automatically fail.
* eval: Stop executing *eval() function at errorZyX2016-05-27
| | | | | Fixes #4822 Closes #4823
* test: remote/define.vim: Add some spice.Justin M. Keyes2016-04-18
|
* test: formatCase Nelson2016-04-18
|
* test: remote/define.vim: rangeCase Nelson2016-04-18
|
* test/functional: clean up according to luacheck (part 1)Marco Hinz2015-11-23
|
* Ensure a session is running before attempting to do Python detection.John Szakmeister2015-11-04
|
* test: Check for installed Python module with Vimscript function.Florian Walch2015-09-27
| | | | | | Use the existing Vimscript function provider#pythonx#Detect() to determine whether the Neovim Python module is installed and Python 2/3 tests can be run.
* test: move runtime/autoload/* to provider/Justin M. Keyes2015-08-09
- Organize tests by logical function, not the literal impl location. - Avoid deep nesting / hyper-hierarchy.