aboutsummaryrefslogtreecommitdiff
path: root/test/functional/core
Commit message (Collapse)AuthorAge
* Add test case for 'null' stdin modeGregory Anders2021-08-26
|
* 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`.
* test: is_os() #10933Justin M. Keyes2019-09-04
| | | | | - Move os_name() up to "global helpers". - Rename it to is_os(). - Make it depend on uname() instead of a running Nvim instance.
* test: enable "exit event follows stdout, stderr" [ci skip] #10929Justin M. Keyes2019-09-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Update the test to work with changes since it was originally written. - Keep the test pending() because it still fails: Expected objects to be the same. Passed in: (table: 0x50ce9e38) { [1] = { [1] = 'notification' [2] = 'stderr' [3] = { [1] = 0 [2] = { [1] = '' } } } *[2] = { [1] = 'notification' [2] = 'stdout' *[3] = { [1] = 0 *[2] = { *[1] = '' } } } [3] = { [1] = 'notification' [2] = 'exit' [3] = { [1] = 0 [2] = 143 } } } Expected: (table: 0x50ce9870) { [1] = { [1] = 'notification' [2] = 'stderr' [3] = { [1] = 0 [2] = { [1] = '' } } } *[2] = { [1] = 'notification' [2] = 'stdout' *[3] = { [1] = 0 *[2] = { *[1] = 'abcdef' } } } [3] = { [1] = 'notification' [2] = 'stdout' [3] = { [1] = 0 [2] = { [1] = '' } } } }
* jobwait(): fix race if job exits before waiting on itJustin M. Keyes2019-09-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: If a job exits while waiting on another job, the on_exit handler is queued but f_jobwait() skips it. Solution: Always do process_wait(), so that handlers are run during f_jobwait(). fix #8302 Test case: $ BUSTED_ARGS="--repeat=2000 --no-keep-going" TEST_FILE=test/functional/core/job_spec.lua TEST_FILTER=waiting make functionaltest Failure example (macOS CI): FAILED test/functional/core/job_spec.lua: jobs jobwait will run callbacks while waiting test/functional/core/job_spec.lua:606: Expected objects to be the same. Passed in: (table: 0x1be77c80) { [1] = 'notification' [2] = 'wait' *[3] = { *[1] = 3 } } Expected: (table: 0x1be77d10) { [1] = 'notification' [2] = 'wait' *[3] = { *[1] = 4 } } stack traceback: test/functional/core/job_spec.lua:606: in function <test/functional/core/job_spec.lua:583
* test/job_spec: improve visibility of flaky testJustin M. Keyes2019-09-03
| | | | | | | | | | | | | | | | | | | | | | | Test sometimes fails on macOS CI: FAILED test/functional/core/job_spec.lua: jobs jobwait will run callbacks while waiting test/functional/core/job_spec.lua:606: Expected objects to be the same. Passed in: (table: 0x1be77c80) { [1] = 'notification' [2] = 'wait' *[3] = { *[1] = 3 } } Expected: (table: 0x1be77d10) { [1] = 'notification' [2] = 'wait' *[3] = { *[1] = 4 } } stack traceback: test/functional/core/job_spec.lua:606: in function <test/functional/core/job_spec.lua:583 Change the test to check if all jobs are starting, not only exiting.
* test/uname(): always lowercaseJustin M. Keyes2019-09-01
|
* CI/OpenBSD: run functional testsEdd Barrett2019-09-01
| | | | | | | | | | | Adapt some tests for OpenBSD: - scrollback_spec: - seq(1) is not available on OpenBSD: we'd use jot(1). - Instead use a (hopefully) portable awk(1) snippet. - channels_spec - job_spec - tui_spec
* Change to output status on failureerw72019-08-16
|
* windows: ok(#children >= 3 and #chidlen <= 5)erw72019-08-16
| | | | | Depending on the version of Windows, conhost.exe may not be included in the child process.
* windows: ok(#children >= 4 and #children <= 5)Daniel Hahler2019-08-16
|
* tests: fix/improve "jobwait returns -1 when timed out" #10767Daniel Hahler2019-08-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There was a longer timeout for Windows already, but unlike stated in 51d42917f it is not a worst-case, but gets waited for always. The test is only about "-1" on timeout, so reduce it to this. Fixes: 16:33:19,309 INFO - not ok 627 - jobs jobwait with timeout argument will return -1 if the wait timed out 16:33:19,309 INFO - # test/functional/core/job_spec.lua @ 707 16:33:19,309 INFO - # Failure message: test/functional/core/job_spec.lua:714: Expected objects to be the same. 16:33:19,309 INFO - # Passed in: 16:33:19,309 INFO - # (table: 0x0db1a3f0) { 16:33:19,309 INFO - # [1] = 'notification' 16:33:19,309 INFO - # [2] = 'wait' 16:33:19,309 INFO - # *[3] = { 16:33:19,309 INFO - # *[1] = { 16:33:19,309 INFO - # *[1] = -1 16:33:19,309 INFO - # [2] = -1 } } } 16:33:19,309 INFO - # Expected: 16:33:19,309 INFO - # (table: 0x0db1a480) { 16:33:19,309 INFO - # [1] = 'notification' 16:33:19,309 INFO - # [2] = 'wait' 16:33:19,309 INFO - # *[3] = { 16:33:19,309 INFO - # *[1] = { 16:33:19,309 INFO - # *[1] = 4 16:33:19,309 INFO - # [2] = -1 } } } 16:33:19,309 INFO - # stack traceback: 16:33:19,309 INFO - # test/functional/core/job_spec.lua:714: in function <test/functional/core/job_spec.lua:707>
* Merge #10098 'win: fix msg_puts_printf()'Justin M. Keyes2019-08-12
|\
| * Add test for #7967erw72019-06-09
| |
* | 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.
* | test: isCI(): add "name" parameterJustin M. Keyes2019-08-05
| |