Jan Edmund Lazo
e16f2cbd12
vim-patch:8.2.0539: comparing two NULL list fails
...
Problem: Comparing two NULL list fails.
Solution: Change the order of comparing two lists.
https://github.com/vim/vim/commit/7b293c730b07d1586688e622b8d9cbbb4a52379b
N/A patches for version.c:
vim-patch:8.2.1187: terminal2 test sometimes hangs in the GUI on Travis
Problem: Terminal2 test sometimes hangs in the GUI on Travis.
Solution: Disable Test_zz2_terminal_guioptions_bang() for now.
https://github.com/vim/vim/commit/c85156bb897085d7f5a8e4e180287f87bf19b948
vim-patch:8.2.1188: memory leak with invalid json input
Problem: Memory leak with invalid json input.
Solution: Free all keys at the end. (Dominique Pellé, closes vim/vim#6443 ,
closes vim/vim#6442 )
https://github.com/vim/vim/commit/6d3a7213f58da834b0fc869d05f87e86010c66cf
vim-patch:8.2.1196: build failure with normal features
Problem: Build failure with normal features.
Solution: Add #ifdef.
https://github.com/vim/vim/commit/83e7450053399942e1c9efa802c568b51d948541
vim-patch:8.2.1198: terminal2 test sometimes hangs in the GUI on Travis
Problem: Terminal2 test sometimes hangs in the GUI on Travis.
Solution: Move test function to terminal3 to see if the problem moves too.
https://github.com/vim/vim/commit/a4b442614c5ca4ebf32acf5cf0b7b718496f1c94
2020-07-19 11:40:34 -04:00
Billy Su
1805fb469a
vim-patch:8.2.0111: VAR_SPECIAL is also used for booleans
...
Problem: VAR_SPECIAL is also used for booleans.
Solution: Add VAR_BOOL for better type checking.
https://github.com/vim/vim/commit/9b4a15d5dba354d2e1e02871470bad103f34769a
2020-06-06 23:24:58 +08:00
Yatao Li
ed6230434b
gen_api_dispatch.lua: allow msgpack int for Float args; test: add ui_pum_set_bounds and tv_dict_add_float tests
2020-04-28 01:53:43 +08:00
Hirokazu Hata
e2ed8053bf
lua: move test helper function, map and filter, to vim.shared module
2020-02-18 17:43:10 +09:00
Jan Edmund Lazo
1aacab49ea
vim-patch:8.1.1579: dict and list could be GC'ed while displaying error
...
Problem: Dict and list could be GC'ed while displaying error in a timer.
(Yasuhiro Matsumoto)
Solution: Block garbage collection when executing a timer. Add
test_garbagecollect_soon(). Add "no_wait_return" to
test_override(). (closes vim/vim#4571 )
https://github.com/vim/vim/commit/adc6714aac20f5462a0ecec50ab4806b2f3ab0db
2020-01-05 10:40:53 -05:00
Justin M. Keyes
fd04877eb0
test: remove use of require('test.helpers')
...
The test.functional.helpers and test.unit.helpers modules now include
all of the public functions from test.helpers, so there is no need to
separately require('test.helpers').
2019-05-18 15:48:13 +02:00
ZyX
9ea1752d60
*: Provide list length when allocating lists
2018-01-14 01:33:16 +03:00
ZyX
bc52ec6110
*: Fix linter errors
2017-12-24 23:09:26 +03:00
ZyX
7997147245
eval: Replace some tv_list_item_remove() calls
...
There is nothing wrong with them, just it is generally better to remove
a range then to remove items individually.
2017-12-24 17:52:24 +03:00
ZyX
67fa9e5237
eval: Rename tv_list_remove_items() to tv_list_drop_items()
...
tv_list_remove_items() may cause confusion with tv_list_item_remove()
2017-12-24 16:38:30 +03:00
ZyX
ac55558c97
eval/typval: Make tv_list_item_remove return pointer to the next item
2017-12-24 14:09:36 +03:00
ZyX
608c3d7baf
eval/typval: Remove tv_list_item_free() as it is unused
2017-12-24 14:09:36 +03:00
ZyX
6bf3dc77c4
eval/typval: Make tv_list_item_alloc static
...
Better write this bit in lua then make reviewers or clint filter out
tv_list_item_alloc().
2017-12-24 14:09:36 +03:00
ZyX
0c533a488f
*: Remove most calls to tv_list_item_alloc
...
Still left calls in eval/typval.c and test/unit/eval/helpers.lua. Latter is the
only reason why function did not receive `static` modifier.
2017-12-24 14:09:35 +03:00
ZyX
430e516d3a
viml/parser/expressions: Start creating expressions parser
...
Currently supported nodes:
- Register as it is one of the simplest value nodes (even numbers are
not that simple with that dot handling).
- Plus, both unary and binary.
- Parenthesis, both nesting and calling.
Note regarding unit tests: it stores data for AST in highlighting in
strings in place of tables because luassert fails to do a good job at
representing big tables. Squashing a bunch of data into a single string
simply yields more readable result.
2017-10-08 22:25:03 +03:00
ZyX
35898cff5d
unittests: Fix allocation ordering for tv_dict_add_str()
2017-07-02 20:24:39 +03:00
ZyX
df040e55fb
eval/typval: Add tv_dict_add_allocated_str() function
2017-07-02 19:01:09 +03:00
ZyX
f4d5d5250a
eval: Refactor get_user_input to support dictionary
2017-05-10 15:52:48 +03:00
ZyX
b54e5c220f
unittests: Add a test for TV_CSTRING
...
Not using enum{} because SIZE_MAX exceeds integer and I do not really like how
enum definition is described in C99:
1. Even though all values must fit into the chosen type (6.7.2.2, p 4) the type
to choose is still implementation-defined.
2. 6.4.4.3 explicitly states that “an identifier declared as an enumeration
constant has type `int`”. So it looks like “no matter what type was chosen
for enumeration, constants will be integers”. Yet the following simple
program:
#include <stdint.h>
#include <stdio.h>
#include <stddef.h>
enum { X=SIZE_MAX };
int main(int argc, char **argv)
{
printf("x:%zu m:%zu t:%zu v:%zu",
sizeof(X), sizeof(SIZE_MAX), sizeof(size_t), (size_t)X);
}
yields one of the following using different compilers:
- clang/gcc/pathcc: `x:8 m:8 t:8 v:18446744073709551615`
- pcc/tcc: `x:4 m:8 t:8 v:1844674407370955161`
If I remove the cast of X to size_t then pcc/tcc both yield `x:4 m:8 t:8
v:4294967295`, other compilers’ output does not change.
All compilers were called with `$compiler -std=c99 -xc -` (feeding program
from echo), except for `tcc` which has missing `-std=c99`. `pcc` seems to
ignore the argument though: it is perfectly fine with `-std=c1000`.
2017-04-14 23:58:47 +03:00
Justin M. Keyes
699e8406b5
Merge #6439 from ZyX-I/fix-gc-failures
...
unittests: Force GC, fix GC failures in typval_spec
2017-04-09 04:05:07 +02:00
ZyX
967fa96eb2
unittests: Fix linter error
2017-04-09 03:39:37 +03:00
ZyX
8990490b50
unittests: Move allocating vimconv_T to a function
2017-04-09 03:36:18 +03:00
ZyX
233e71419e
unittests: Do not GC typval_T which is owned by a di
2017-04-09 03:36:18 +03:00
ZyX
bac870433b
unittests: Do not unref partial which is owned by Callback structure
2017-04-09 03:36:17 +03:00
ZyX
44cd4e63f5
unittests: Use Neovim memory allocation for vimconv_T
...
Not sure whether this is going to fix things though, but core dump does not
contain Neovim functions in stack in this case.
2017-04-09 03:36:17 +03:00
ZyX
94c1af7c41
unittests: Do not gc what is already freed
2017-04-09 03:36:17 +03:00
ZyX
dc9722326e
unittests: Do not alter p_enc in decode unit test
2017-04-08 19:20:41 +03:00
ZyX
654dd15bb8
unittests: Fix testlint failure
2017-04-07 00:46:52 +03:00
ZyX
271df03fa4
unittests: Force GC, fix GC failures in typval_spec
2017-04-06 07:29:15 +03:00
ZyX
114eaa15f0
eval/typval,api/buffer: Fix review comments
2017-03-29 10:08:46 +03:00
ZyX
58e34e8d99
eval/typval: Allow NULL dict as tv_dict_get_callback() argument
...
Also removes NULL key input: tv_dict_find() does not allow this.
2017-03-29 10:08:46 +03:00
ZyX
8daf756fb6
unittests: Fix linter errors
2017-03-29 10:08:46 +03:00
ZyX
7826ee1c03
unittests: Add tv_get_string* tests
2017-03-29 10:08:46 +03:00
ZyX
e08b27ba4a
unittests: Add tv_get number tests
2017-03-29 10:08:46 +03:00
ZyX
4536c064e4
unittests: Move tv_dict_add* tests to a proper describe() block
2017-03-29 10:08:46 +03:00
ZyX
49195063fd
unittests: Add tv_check… tests
2017-03-29 10:08:46 +03:00
ZyX
389274bef7
unittests: Add tv_equal() tests
2017-03-29 10:08:46 +03:00
ZyX
630ff33dc1
unittests: Test locks section
2017-03-29 10:08:46 +03:00
ZyX
ed4948a933
unittests: Test tv_copy()
2017-03-29 10:08:46 +03:00
ZyX
f0bbd1e825
unittests: Add tests for tv_clear()
2017-03-29 10:08:46 +03:00
ZyX
e43de6bb3e
unittests: Add test for tv_dict_set_keys_readonly
2017-03-29 10:08:45 +03:00
ZyX
368a61c525
unittests: Add tv_dict_copy tests
2017-03-29 10:08:45 +03:00
ZyX
8b9a1fbf7a
unittests: Add tests for tv_dict_extend
2017-03-29 10:08:45 +03:00
ZyX
4987850cac
unittests: Add tv_dict_clear tests
2017-03-29 10:08:45 +03:00
ZyX
270a3889af
unittests: Add tv_dict_add* unit tests
...
Also fixes incorrect location of `tv_dict_add` function and three bugs in other
functions:
1. `tv_dict_add_list` may free list it does not own (vim/vim#1555 ).
2. `tv_dict_add_dict` may free dictionary it does not own (vim/vim#1555 ).
3. `tv_dict_add_dict` ignores `key_len` argument.
2017-03-29 10:08:45 +03:00
ZyX
bc87d23c28
unittests: Add tests for dictionary indexing
2017-03-29 10:08:45 +03:00
ZyX
5ce6243241
unittests: Enable tv_list_join tests back
...
Unable to reproduce the problem on Mac OS X Sierra VPS, need to check whether it
is reproducible on travis.
2017-03-29 10:08:45 +03:00
ZyX
52e226ff74
unittests: Disable tv_list_join test on Mac OS only
2017-03-29 10:08:45 +03:00
ZyX
38dd81c136
eval/typval: Fix SEGV in test_alot.vim test
2017-03-29 10:08:45 +03:00
ZyX
6c622ed08b
unittests: Add tv_dict_item_{add,remove} tests
2017-03-29 10:08:45 +03:00