aboutsummaryrefslogtreecommitdiff
path: root/test/functional/core
Commit message (Collapse)AuthorAge
* fix(runtime): don't use regexes inside lua require'mod'Björn Linse2021-10-17
| | | | | | | | | | | | Fixes #15147 and fixes #15497. Also sketch "subdir" caching. Currently this only caches whether an rtp entry has a "lua/" subdir but we could consider cache other subdirs potentially or even "lua/mybigplugin/" possibly. Note: the async_leftpad test doesn't actually fail on master, at least not deterministically (even when disabling the fast_breakcheck throttling). It's still useful as a regression test for further changes and included as such.
* fix(runtime): add packages as "/pack/*/start/*" patterns to &rtpBjörn Linse2021-10-02
| | | | This makes `globpath(&rtp, ...)` work again for start packages
* fix(runtime): fix ordering of "after" packagesBjörn Linse2021-09-30
| | | | they must come after ordinary runtime dirs which are not "after"
* fix(runtime): make a copy of runtime_search_path when iteratingBjörn Linse2021-09-27
| | | | | This is to prevent concurrent modification, just like save_rtp in the vim 8 implementation
* fix(runtime): ordering of loading packages with user configBjörn Linse2021-09-26
| | | | | | | | site packages must be sourced before user config NOTE: we only consider dirs exactly matching "after" to be an AFTER dir. vim8 considers all dirs like "foo/bar_after", "Xafter" etc, as an "after" dir in SOME codepaths not not in ALL codepaths.
* fix(startup): init.lua: set $MYVIMRC to absolute path #15748Justin M. Keyes2021-09-21
| | | | | | - main.c: remove os_setenv("MYVIMRC",…), it is already done by do_source(). - This also sets $MYVIMRC to a full (absolute) path. - code cleanup.
* refactor(tests): remove redir_exec #15718Justin M. Keyes2021-09-19
| | | | | | | | | | | Problem - `redir_exec` is obsolete, but it keeps getting used in new tests because people copy existing tests. - Disadvantages of `redir_exec`: - Captures extra junk before the actual error/message that we _want_ to test. - Does not fail on error, unlike e.g. `command()`. Solution - Use new functions like `nvim_exec` and `pcall_err`.
* refactor(runtime): handle pack/foo/start/bar/after dirs properlyBjörn Linse2021-09-18
| | | | | | | | The order should be: XDG_CONFIG_HOME/nvim XDG_DATA_HOME/nvim/site/pack/foo/start/bar/ XDG_CONFIG_HOME/nvim/after XDG_DATA_HOME/nvim/site/pack/foo/start/bar/after
* feat(f_chansend): support Blob data argumentSean Dewar2021-09-16
|
* fix(tests): use isolated XDG_DATA_HOME in startup testsBjörn Linse2021-09-12
| | | | | | | | | Otherwise the users site packages will be loaded from ~/.local/share/nvim/site which can cause unexpected error messages and other kinds of mayhem Simpler alternative: use "--noplugin". Shouldn't be done because: (1) these tests should test the ordinary startup code path as close as possible (2) tests that test the loading of site packages will be added here very soon
* refactor(tests): use assert_alive() #15546Justin M. Keyes2021-09-01
|
* feat(api): nvim_get_chan_info: include "argv" for jobs #15537Justin M. Keyes2021-09-01
| | | ref #15440
* fix(eval): cherry-pick emsg changes from v8.1.0736Sean Dewar2021-08-12
| | | | | | | | | | | v8.1.0736 made some changes for making some emsgs more specific. Includes the change for Test_lambda_fails() in test_lambda.vim. Adjust relevant functionaltests to expect the new emsgs. This patch has been fully ported in my Blob port PR, but it hasn't been merged yet, so just use what we need from it for now. Required for v8.1.1821.
* Add test case for 'null' stdin modeGregory Anders2021-07-12
|
* doc/startup: cleanup; assign ENN to "conflicing configs" msg (#14971)Justin M. Keyes2021-07-03
|
* Refactor(tests): mkdir_p in startup/init.lua testshadmansaleh2021-07-01
|
* fixup(runtime): Fix lua runtime files not listedshadmansaleh2021-06-13
| | | | | | | | | lua runtime files weren't listed in :scriptname & profiler. This fixes that. * Add tests * Small doc tweeks
* refactor(tests): Simplify tests at functional/lua/runtime_specshadmansaleh2021-06-11
|
* feat(runtime): Allow lua to be used in colorschemesshadmansaleh2021-06-11
| | | | * tests(runtime): move runtime/plugin tests to functional/lua/runtime_spec
* feat(startup): Source runtime/plugin/**/*.lua at startupshadmansaleh2021-06-11
| | | | | | For opt plugins these files are sourced on `:packadd` * `:runtime` Now can exexute lua files
* test(job_spec): Test handling of case-insensitively matching env varsJames McCoy2021-05-18
| | | | | Since Windows is case-insensitive, there should only be a single env var in visible in the resulting job. However, non-Windows should see both.
* api: fix use-after-free in nvim_chan_sendBjörn Linse2021-04-04
|
* test(job): Ensure job-specific env var overrides global env varJames McCoy2021-01-31
|
* Pass environment on to pty processes on WindowsJames McCoy2021-01-31
| | | | | | | | | | | | vim-patch:8.2.0239: MS-Windows: 'env' job option does not override existing vars Problem: MS-Windows: 'env' job option does not override existing environment variables. (Tim Pope) Solution: Set the environment variables later. (Yasuhiro Matsumoto, closes vim/vim#5485, closes vim/vim#5608) https://github.com/vim/vim/commit/355757aed6ae2ae5446882570d89f243e4805937 Co-authored-by: erw7 <erw7.github@gmail.com>
* Use dict_T to pass env vars to process spawning codeJames McCoy2021-01-31
| | | | Co-authored-by: Matthieu Coudron <mattator@gmail.com>
* tests: Take into account magic hyphen. (#13518)Edwin Pujols2020-12-11
| | | | | | | | | | | | | In Lua patterns the hyphen works like a non-greedy version of Vim's `*`. - Use `%-` when you need a literal hyphen. - If you don't need a regular expression at all, use something like ``` string.find(text, pattern, 1, true) ``` so that the pattern is regarded as a plain, non-magical string. See [1] and [2] in the Lua manual. [1]: https://www.lua.org/manual/5.1/manual.html#pdf-Patterns [2]: https://www.lua.org/manual/5.1/manual.html#pdf-string.find
* startup: allow lua files as session onedm1try2020-12-01
|
* startup: add init.lua as an alternative user config, fixes #7895dm1try2020-12-01
|
* startup: load files from &packpath . '/start/{pluginname}'Björn Linse2020-11-19
| | | | | | | | | | | Quoting the existing docs: Packages are loaded. These are plugins, as above [&runtimepath], but found in the "start" directory of each entry in 'packpath'. Every plugin directory found is added in 'runtimepath' and then the plugins are sourced. Also tj didn't think I could do it.
* startup: handle autoload and lua packages during startupBjörn Linse2020-11-02
| | | | ¡NO HAY BANDA!
* A Mudholland Dr. RecastBjörn Linse2020-10-19
| | | | | The commit summary maybe does not make sense, but calling a function that does not wait on anything `wait()` makes even less sense.
* test: Fix failing test in case of special .bashrc (#12920)Omri Sarig2020-09-28
| | | | | | | | | | | | | | | | | | | The test of "replace environment" in the test module of `test/functional/core/job_spec.lua` failed in case the bashrc file of the user running the test has special actions in it (such actions were printing to the screen from inside this file, or changing the bash mode to be vi). In order to fix this problem, the test now sets the shell to be `/bin/sh` before running the command. Setting the shell to be `/bin/sh` causes the running shell to run without the configuration of the user, and so the test passes even in case of special .bashrc. This change was done only for platforms other than Windows since it is not relevant in windows. The fix was applied to the specific test, even though it is possible that related issues will arise in other tests. It seems like a big overhead to make the fix work on all the possible tests, and it does not worth this cost.
* startup: fix stall issue with -D options (#12652)erw72020-07-19
| | | fixes #12647.
* vim-patch:8.0.1554: custom plugins loaded with --cleanJan Edmund Lazo2020-06-18
| | | | | | Problem: Custom plugins loaded with --clean. Solution: Do not include the home directory in 'runtimepath'. https://github.com/vim/vim/commit/072687032683b1994d25a114893d9a6f8bc36612
* vim-patch:8.1.2233: cannot get the Vim command line arguments (#12117)kuuote2020-05-24
| | | | | Problem: Cannot get the Vim command line arguments. Solution: Add v:argv. (Dmitri Vereshchagin, closes vim/vim#1322) https://github.com/vim/vim/commit/69bf634858a2a75f2984e42b1e4017bc529a040a
* fixed hang issue with --headless and -r option specified (#12209)Kei Kamikawa2020-05-20
| | | | | | | | | | | | | | | | | | | | | | | * fixed hang issue with --headless and -r option specified Calling the do_more_prompt function in headless mode will freeze neovim because it is eventally in the input-accepting state (the same as waiting for --more--). * fixed "Press ENTER or type command to continue" to be suppressed If in headless mode, we need to exit at this point. If we continue, we will enter the normal mode and the message "Press ENTER or type command to continue" will be displayed and we will be in the input waiting state. * fixed functional ex_cmds tests * Revert "fixed "Press ENTER or type command to continue" to be suppressed" This reverts commit a02dc40e3b3fad69cedcde6abe1bd4efe39ab102. * Revert "fixed functional ex_cmds tests" This reverts commit 3bdb8da20acf34673b2c2028d15e7ce6da4c792a. * fixed conditional again * added test for fixed hang issue with --headless (#11386)
* Fix f_jobstop() failed loudlyBilly Su2020-01-22
| | | | | | The return value of jobstop() @return 1 for valid job id 0 for invalid id, including jobs have exited or stopped
* system(), jobstart(): raise error on non-executable #11234Daniel Hahler2019-12-24
| | | | | | | | | | * tv_to_argv: error when cmd is not executable Callers always assume that emsg was emitted: - https://github.com/neovim/neovim/blob/57fbf288/src/nvim/eval.c#L12509 - https://github.com/neovim/neovim/blob/57fbf288/src/nvim/eval.c#L17923 - https://github.com/neovim/neovim/blob/57fbf288/src/nvim/eval.c#L18202 * test/functional/provider: display reason from missing_provider * provider#node#Detect: skip / handle non-existing node executable
* Add negative test for type of job's env optionJames McCoy2019-12-12
|
* test: new test for setting environmentMatthieu Coudron2019-12-11
|
* vim-patch:8.1.0251: support full paths for 'backupdir' #11269Joe Hermaszewski2019-11-17
| | | | | | | Problem: Using a full path is supported for 'directory' but not for 'backupdir'. (Mikolaj Machowski) Solution: Support 'backupdir' as well. (Christian Brabandt, closes vim/vim#179) https://github.com/vim/vim/commit/b782ba475a3f8f2b0be99dda164ba4545347f60f
* terminal: add tests for palette color forwardingBjörn Linse2019-11-03
|
* tests: fix non-controversial misuse of `pending` (#11247)Daniel Hahler2019-10-18
| | | Ref: https://github.com/neovim/neovim/pull/11184
* tests/ui: remove unnecessary screen:detach()Björn Linse2019-10-13
| | | | | | | | | | | | | It is perfectly fine and expected to detach from the screen just by the UI disconnecting from nvim or exiting nvim. Just keep detach() in screen_basic_spec, to get some coverage of the detach method itself. This avoids hang on failure in many situations (though one could argue that detach() should be "fast", or at least "as fast as resize", which works in press-return already). Never use detach() just to change the size of the screen, try_resize() method exists for that specifically.
* test: fix failure on Windows (allow ".exe")Justin M. Keyes2019-09-13
| | | | ref 77594d55f709
* startup: fail if --embed with -es/-Es #10753glacambre2019-09-13
| | | | Closes https://github.com/neovim/neovim/issues/10031
* tests: fix system_spec when run with clipboard manager (#10956)Daniel Hahler2019-09-12
| | | | | | | | | * tests: move os_kill to functional helpers * tests: fix system_spec when run with clipboard manager Replaces "xclip" with a dedicated helper program. Fixes: https://github.com/neovim/neovim/issues/4900#issuecomment-501866842
* Merge #10973 'vim-patch:8.1.1197'Justin M. Keyes2019-09-08
|\
| * vim-patch:8.1.1197: when starting with multiple tabs file messages is confusingJan Edmund Lazo2019-09-08
|/ | | | | | Problem: When starting with multiple tabs file messages is confusing. Solution: Set 'shortmess' when loading the other tabs. (Christian Brabandt) https://github.com/vim/vim/commit/c75e81262347e47a69faabd72caf89fec3f06e8f
* test: Eliminate expect_errJustin M. Keyes2019-09-06
| | | | Eliminate `expect_err` in favor of `pcall_err` + `eq` or `matches`.