James McCoy
674db4b01f
eval: Remove dictwatcher from watchers queue before freeing it
...
This fixes a use-after-free noticed by ASAN which would occur when a
dictwatcher was still active on a dictionary when the dictionary was
freed.
fun! MakeWatch()
let d = {'foo': 'bar'}
call dictwatcheradd(d, 'foo', function('...'))
endfun
Patch-by: oni-link
Closes #5930
2017-01-12 14:47:43 -05:00
James McCoy
f2dff86493
inccommand: Preview :sub commands only after the delimiter is present
...
Closes #5888
2017-01-11 21:05:02 -05:00
James McCoy
dcd77c64ef
inccommand: Suppress error reporting when previewing commands
...
Closes #5912
2017-01-11 21:05:02 -05:00
Justin M. Keyes
9ecdce1d53
test: system([...]): v:shell_error
2017-01-11 01:05:56 +01:00
Rui Abreu Ferreira
1e079fa987
system([...]): Set v:shell_error=-1 if not executable.
...
Do _not_ set v:shell_error on parameter validation error.
system([...]) does not invoke a shell, so this change is somewhat
questionable. But `:help v:shell_error` is sufficiently vague to allow
-1 in this case.
2017-01-11 01:05:55 +01:00
Rui Abreu Ferreira
ac44d0ed54
test: system([...])
2017-01-11 01:05:55 +01:00
James McCoy
6520517e22
vim-patch:7.4.2008
...
Problem: evalcmd() has a confusing name.
Solution: Rename to execute(). Make silent optional. Support a list of
commands.
79815f1ec7
2017-01-10 07:14:12 -05:00
lonerover
2b56cf099a
fix test failure
2017-01-09 13:06:24 +08:00
Rui Abreu Ferreira
ae1ba2b2fb
test: Windows: Re-enable shada functional tests
...
One of the tests remains disabled until we figure out the expected
behaviour of mkdir() on Windows when `prot` is passed.
2017-01-08 03:23:15 +01:00
Rui Abreu Ferreira
32156f06f7
XDG: Windows: resolve $LOCALAPPDATA, $TEMP ( #5278 )
...
After #4964 environment variables in the XDG "fallback" table are no
longer expanded.
Fallback to correctly expanded $LOCALAPPDATA, $TEMP. If that fails
(unlikely), fallback to hard-coded paths (e.g. ~/AppData/Local).
Closes #5255
2017-01-08 03:18:00 +01:00
Justin M. Keyes
d2f16d534f
Merge #5079 from ZyX-I/shada-save-current-pos
...
shada: Save current cursor position before saving jumps
2017-01-07 23:15:50 +01:00
ZyX
3967618fa5
unittest: Fix linter errors
2017-01-07 19:12:18 +03:00
ZyX
dea4bb33dc
unittest,memory: Fix tests
2017-01-07 19:07:32 +03:00
ZyX
88a4820cc9
unittest: Add failing test for freeing dictionaries in a list
2017-01-07 15:54:55 +03:00
ZyX
728367a196
unittest: Add dict_items function
2017-01-07 15:54:55 +03:00
ZyX
41cbb7891d
unittest: Add failing test of freeing lists
2017-01-07 14:48:21 +03:00
ZyX
8fd3d31329
unittest: Allow mocking allocator calls
2017-01-07 14:48:21 +03:00
James McCoy
b4c0c61f5c
Merge pull request #5826 from ZyX-I/fix-typval_encode
...
Refactor eval/typval_encode.h
2017-01-06 21:11:33 -05:00
ZyX
527636f158
functests: Add tests for new fixes
2017-01-06 23:52:31 +03:00
nfnty
7a344c795f
path.c: vim_FullName()
: Fix heap overflow #5737
...
- Clarify documentation.
- Return `FAIL` and truncate if `fname` is too long.
- Add tests.
2017-01-05 15:17:34 +01:00
Justin M. Keyes
e21aef1e10
Merge #5874 from ZyX-I/fix-5482
...
Fix plugin which opens ShaDa files
2017-01-04 17:34:17 +01:00
ZyX
81ef9f55ae
shada: Save current cursor position before saving jumps
2017-01-04 16:34:06 +03:00
Justin M. Keyes
0ce77a744a
Merge #5749 from justinmk/test-ctrl-c
2017-01-04 13:32:39 +01:00
ZyX
24b3b938e8
plugin/shada: Handle NUL characters with intchar correctly
...
Fixes #5482
2017-01-04 15:06:33 +03:00
ZyX
d82f5d1ba2
plugin/msgpack: Support character constants like '\0'
2017-01-04 14:53:02 +03:00
Justin M. Keyes
6f9be2464c
Merge #5872 justinmk/test_autochdir
2017-01-04 08:24:36 +01:00
Justin M. Keyes
a63675c384
test/helpers.rmdir(): Windows: Change to top-level dir on failure.
...
On Windows, if the nvim process has a directory open the lua process
cannot remove it. After failing once, it's safe to force `nvim` to the
top-level directory. Then try again.
2017-01-04 07:23:13 +01:00
Justin M. Keyes
097c8dccca
refactor: Remove VimL function test_autochdir()
...
- Eliminate global test_autochdir.
- Eliminate VimL function test_autochdir()
- Use a lua test instead. Fails correctly after reverting
0c43479979
/ vim-patch:7.4.2015.
2017-01-04 07:23:13 +01:00
Justin M. Keyes
e03b43bd07
test: skip_fragile(), TEST_SKIP_FRAGILE
...
Let build systems define TEST_SKIP_FRAGILE to skip tests that are known to be
resource-intensive (unreliable on slow systems).
References https://github.com/neovim/neovim/pull/5488#issuecomment-265622113
2017-01-04 04:24:18 +01:00
Justin M. Keyes
f4d326cf10
test: ctrl_c_spec
...
- Improve test reliability by only checking for a line with the string
we are interested in ("Interrupt").
- Try to avoid OOM by loading an existing big file instead of looping to
create one.
2017-01-04 03:18:30 +01:00
ZyX
3c64b814d2
unittests: Fix linter errors
2017-01-03 23:58:12 +03:00
ZyX
937b6fac8f
unittest: Fix linter errors
2017-01-03 22:54:55 +03:00
ZyX
b38e725428
unittest: Refactor preprocess.lua
...
Keeps arguments separated and not joined as a single string as long as possible.
Abstracts away additional arguments so that Gcc:preprocess should work for
compilers with different conventions should they be supported.
2017-01-03 22:54:55 +03:00
ZyX
2151ddbd73
unittest: Move nil checks to Gcc:preprocess
2017-01-03 22:54:54 +03:00
ZyX
0d7b779cab
unittest: Record previous defines in another place
...
Previous commit made preprocess.lua know how its output will be used. This moves
state to cimport, making only it know which is cleaner.
2017-01-03 22:54:54 +03:00
ZyX
410d18ef5c
unittest: Allow multiple indirect includes
...
Works by saving all preprocessor defines and reusing them on each run. This also
saves NVIM_HEADER_H defines. Saving other defines is needed for defines like
`Map(foo, bar)` which are sometimes used to declare types or functions. Saving
types or function declarations is not needed because they are recorded as luajit
state.
Fixes #5857
2017-01-03 22:54:54 +03:00
ZyX
136b382e64
tests: Add tests for partials dumping
...
Also fixed dumping of partials by encode_vim_to_object and added code which is
able to work with partials and dictionaries to test/unit/eval/helpers.lua
(mostly copied from #5119 , except for partials handling).
2017-01-03 22:51:29 +03:00
ZyX
759e736b0a
eval/typval_encode: Fix infinite loop
...
Occurs when trying to dump a partial with attached self dictionary which
references that partial. “Infinite” loop should normally result in Neovim killed
by OOM killer.
Also moved the place when partials are unreferenced by clear_tv: from
…FUNC_START to …FUNC_END.
2017-01-03 06:39:23 +03:00
Justin M. Keyes
c6a50ca82c
test: jobclose(): Avoid indeterminism. ( #5851 )
...
stdout activity may reach the queue before `exit`; just discard it.
Observed on Travis CI, ubuntu "trusty" beta image:
[ RUN ] ...is/build/neovim/neovim/test/functional/core/job_spec.lua @ 509: jobs running tty-test program jobclose() sends SIGHUP
...is/build/neovim/neovim/test/functional/core/job_spec.lua:511: Expected objects to be the same.
Passed in:
(table) {
[1] = 'notification'
*[2] = 'stdout'
[3] = {
[1] = 0
[2] = {
[1] = '
'
[2] = '' } } }
Expected:
(table) {
[1] = 'notification'
*[2] = 'exit'
[3] = {
[1] = 0
[2] = 42 } }
stack traceback:
...is/build/neovim/neovim/test/functional/core/job_spec.lua:511: in function <...is/build/neovim/neovim/test/functional/core/job_spec.lua:509>
[ FAILED ] ...is/build/neovim/neovim/test/functional/core/job_spec.lua @ 509: jobs running tty-test program jobclose() sends SIGHUP (2.81 ms)
2016-12-31 08:59:44 -05:00
Marco Hinz
d2998a0a49
Tests: make unit tests work on macOS Sierra
...
Fixes #5455 .
2016-12-29 02:58:21 +01:00
James McCoy
29d7a59711
vim-patch:7.4.1768
...
Problem: Arguments of setqflist() are not checked properly.
Solution: Add better checks, add a test. (Nikolai Pavlov, Hirohito Higashi,
closes vim/vim#661 )
d106e5ba7f
2016-12-27 14:10:01 -05:00
James McCoy
9ef371fd54
test: quickfix: Move upstream vim quickfix test to src/nvim/testdir
...
Massaging the upstream patches for this test into the lua tests are too
cumbersome and slow down patching.
2016-12-27 14:09:53 -05:00
Justin M. Keyes
0b244de384
test: job_spec: Avoid unreliable screen test.
2016-12-23 18:28:54 +01:00
Justin M. Keyes
43ba7f4d98
eval.c: set_selfdict(): Fix invalid memory access.
2016-12-14 20:52:18 +01:00
James McCoy
8c9cccbcb6
Merge pull request #5760 from jamessan/shada-percent-count
...
shada: Respect the optional buffer count for shada-%
2016-12-13 22:35:25 -05:00
Marco Hinz
5855f30cb1
Make VimL code compatible with merged Partial support ( #5765 )
...
Closes #5763 .
2016-12-13 14:48:42 +01:00
James McCoy
7eb91c781b
shada: Respect the optional buffer count for shada-%
...
Closes #5759
2016-12-12 14:35:09 -05:00
Michael Ennen
5e4eb18eb0
Add some tests and cleanup.
2016-12-12 10:17:35 -05:00
Björn Linse
0f681c80e1
Make partials work with jobs, timers, and dictwatchers.
2016-12-12 10:17:35 -05:00
Michael Ennen
34a7814219
vim-patch:7.4.1605
...
Problem: Catching exception that won't be thrown.
Solution: Remove try/catch.
3905e291fe
2016-12-12 10:17:35 -05:00