aboutsummaryrefslogtreecommitdiff
path: root/test
Commit message (Collapse)AuthorAge
...
* | | unittests: Add tv_equal() testsZyX2017-03-29
| | |
* | | unittests: Test locks sectionZyX2017-03-29
| | |
* | | unittests: Test tv_copy()ZyX2017-03-29
| | |
* | | unittests: Add tests for tv_clear()ZyX2017-03-29
| | |
* | | unittests: Add test for tv_dict_set_keys_readonlyZyX2017-03-29
| | |
* | | unittests: Add tv_dict_copy testsZyX2017-03-29
| | |
* | | unittests: Add tests for tv_dict_extendZyX2017-03-29
| | |
* | | eval: Fix extend() behaviour with NULL lists and dictionariesZyX2017-03-29
| | | | | | | | | | | | | | | Ref #4615 Ref vim/vim#768
* | | unittests: Add tv_dict_clear testsZyX2017-03-29
| | |
* | | unittests: Add tv_dict_add* unit testsZyX2017-03-29
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | unittests: Add tests for dictionary indexingZyX2017-03-29
| | |
* | | unittests: Enable tv_list_join tests backZyX2017-03-29
| | | | | | | | | | | | Unable to reproduce the problem on Mac OS X Sierra VPS, need to check whether it is reproducible on travis.
* | | unittests: Disable tv_list_join test on Mac OS onlyZyX2017-03-29
| | |
* | | eval/typval: Fix SEGV in test_alot.vim testZyX2017-03-29
| | |
* | | unittests: Add tv_dict_item_{add,remove} testsZyX2017-03-29
| | |
* | | unittests: Add tv_dict_item_{alloc,free} testsZyX2017-03-29
| | |
* | | eval: Fix len argument to xstrlcatZyX2017-03-29
| | |
* | | unittests: Add tv_dict_watcher_{add,remove} testsZyX2017-03-29
| | |
* | | unittests: Run tv_list_join tests in case it stopped failingZyX2017-03-29
| | |
* | | eval: Make sure that v:_null_dict does not crash dictwatcher*()ZyX2017-03-29
| | | | | | | | | Ref #4615
* | | eval: Move part of dictwatcher* functions to eval/typvalZyX2017-03-29
| | |
* | | functests: Fix buf_functions test on WindowsZyX2017-03-29
| | |
* | | *: Fix some Windows-specific warningsZyX2017-03-29
| | | | | | | | | | | | Also fixed an error in path_fnamecmp().
* | | unittests: Add tests for tv_list_idx_of_itemZyX2017-03-29
| | |
* | | unittests: Add tests for tv_list_find*() functionsZyX2017-03-29
| | | | | | | | | | | | | | | | | | | | | | | | Additional modifications: - More `const` qualifiers in tested functions. - `tv_list_find_str()` second argument is more in-line with other `tv_list_find*()` functions.
* | | eval/typval: Add tv_list_equal() tests, compare NULL lists equalZyX2017-03-29
| | |
* | | unittests: Test tv_list_join()ZyX2017-03-29
| | |
* | | unittests: Fix tests crashZyX2017-03-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Tests crash at some point without - `after_each(collectgarbage)` right before “typval.c list copy() copies list correctly and converts items” test. - Commenting out that test. - Adding `collectgarbage()` after the test (what actually this commit does). Adding `collectgarbage()` to top-level `after_each` block right after `restore_allocators` makes running this file crash even if it is run alone.
* | | eval/typval,tests: Fix extending list with itself, add testsZyX2017-03-29
| | | | | | | | | | | | | | | Adds unit test for tv_list_extend and regression test for extend() VimL function.
* | | unittests: Test tv_list_concat()ZyX2017-03-29
| | |
* | | eval/typval: Make tv_list_concat handle NULL lists correctlyZyX2017-03-29
| | | | | | | | | | | | Fixes some FIXMEs in eval/null_spec.lua.
* | | functests: Add null_spec.lua from #4615ZyX2017-03-29
| | | | | | | | | | | | | | | | | | For now it is full of FIXMEs and tests for incorrect behaviour. Sorted out to have FIXMEs in one place, commented crashing tests in other and correctly working tests in the third one.
* | | unittests: Test tv_list_copyZyX2017-03-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also found some bugs: 1. var_item_copy() always fails to copy v:_null_list and v:_null_dict. Fixing this should mean fixing `deepcopy(v:_null_list)` which should’ve been, but was not listed in #4615. This also fixes `deepcopy(v:_null_dict)`. 2. var_item_copy() crashes when trying to copy NULL string with `conv != NULL`. 3. `conv` argument is ignored when copying list unless `deep` is true, but it was not reflected in documentation. 4. `tv_dict_item_alloc_len()` allocated more memory then needed. 5. typvalt2lua was not able to handle self-referencing containers.
* | | unittests: Add tests for tv_list_insert*()/…append*() functionsZyX2017-03-29
| | |
* | | unittests: Add tests for tv_list_insert()ZyX2017-03-29
| | |
* | | unittests: Add tests for list watchers and list alloc/free/unrefZyX2017-03-29
| | |
* | | unittests: Test tv_list_item_\* functionsZyX2017-03-29
| | | | | | | | | | | | To check that memory is free()d correctly.
* | | eval: Move copy_tv to eval/typvalZyX2017-03-29
| | |
* | | eval: Fix max_min functionsZyX2017-03-29
| | | | | | | | | | | | | | | | | | Found two bugs: 1. Multiple unneeded error messages, vim/vim#1039. 2. Unformatted error string, vim/vim#1040.
* | | eval: Remove eval_expr() completelyZyX2017-03-29
| | |
* | | eval: Move remaining get_tv_string* functions to eval/typval.cZyX2017-03-29
| | |
* | | eval: Move get_tv_lnum and get_tv_float to eval/typval.hZyX2017-03-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | Additionally - Rename former tv_get_float to tv_get_float_chk due to name conflict (former get_tv_float is better suited for being tv_get_float). - Add E907 error to get_tv_float() and test that it is being raised when appropriate.
* | | eval: Make setmatches() return -1 in case of some failuresZyX2017-03-29
| | |
* | | *: Move some dictionary functions to typval.h and use char*ZyX2017-03-29
| | | | | | | | | | | | Also fixes buffer reusage in setmatches() and complete().
* | | functests: Add tests for some *buf* functionsZyX2017-03-29
| | |
* | | eval: Split eval.c into smaller filesZyX2017-03-29
| | |
* | | terminal.c:redraw(): Avoid invalid cursor col (#6379)Justin M. Keyes2017-03-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Removed the call to validate_cursor() because mb_check_adjust_col() is already called in adjust_topline(). Closes #6378 References #6203 https://s3.amazonaws.com/archive.travis-ci.org/jobs/215498258/log.txt [ ERROR ] ...ovim/neovim/test/functional/terminal/scrollback_spec.lua @ 386: 'scrollback' option set to 0 behaves as 1 (10621.17 ms) ==================== File /home/travis/build/neovim/neovim/build/log/ubsan.12836 ==================== = ================================================================= = ==12836==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x62100002cd00 at pc 0x000000eafe90 bp 0x7ffc8661fe50 sp 0x7ffc8661fe48 = READ of size 1 at 0x62100002cd00 thread T0 = #0 0xeafe8f in utf_head_off /home/travis/build/neovim/neovim/src/nvim/mbyte.c:1457:7 = #1 0x6b890e in getvcol /home/travis/build/neovim/neovim/src/nvim/charset.c:1169:15 = #2 0x6bc777 in getvvcol /home/travis/build/neovim/neovim/src/nvim/charset.c:1336:5 = #3 0xfc067b in curs_columns /home/travis/build/neovim/neovim/src/nvim/move.c:730:5 = #4 0xfbc8db in validate_cursor /home/travis/build/neovim/neovim/src/nvim/move.c:510:5 = #5 0x14479ed in setcursor /home/travis/build/neovim/neovim/src/nvim/screen.c:6363:5 = #6 0x17fe054 in redraw /home/travis/build/neovim/neovim/src/nvim/terminal.c:1175:5 = #7 0x17f95e4 in terminal_enter /home/travis/build/neovim/neovim/src/nvim/terminal.c:392:3 = #8 0x70eb2b in edit /home/travis/build/neovim/neovim/src/nvim/edit.c:1300:7 = #9 0x11097d1 in normal_finish_command /home/travis/build/neovim/neovim/src/nvim/normal.c:947:13 = #10 0x1081191 in normal_execute /home/travis/build/neovim/neovim/src/nvim/normal.c:1138:3 = #11 0x170b813 in state_enter /home/travis/build/neovim/neovim/src/nvim/state.c:58:26 = #12 0x103631b in normal_enter /home/travis/build/neovim/neovim/src/nvim/normal.c:464:3 = #13 0xdfb7a8 in main /home/travis/build/neovim/neovim/src/nvim/main.c:552:3 = #14 0x2b8a3c85bf44 in __libc_start_main /build/eglibc-MjiXCM/eglibc-2.19/csu/libc-start.c:287 = #15 0x447b25 in _start (/home/travis/build/neovim/neovim/build/bin/nvim+0x447b25) = = 0x62100002cd00 is located 0 bytes to the right of 4096-byte region [0x62100002bd00,0x62100002cd00) = allocated by thread T0 here: = #0 0x4f1e98 in malloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x4f1e98) = #1 0xf28774 in try_malloc /home/travis/build/neovim/neovim/src/nvim/memory.c:84:15 = #2 0xf28934 in xmalloc /home/travis/build/neovim/neovim/src/nvim/memory.c:118:15 = #3 0xec7be8 in mf_alloc_bhdr /home/travis/build/neovim/neovim/src/nvim/memfile.c:646:17 = #4 0xec58d4 in mf_new /home/travis/build/neovim/neovim/src/nvim/memfile.c:297:12 = #5 0xeda8a8 in ml_new_data /home/travis/build/neovim/neovim/src/nvim/memline.c:2697:16 = #6 0xed7beb in ml_open /home/travis/build/neovim/neovim/src/nvim/memline.c:349:8 = #7 0x643fcd in open_buffer /home/travis/build/neovim/neovim/src/nvim/buffer.c:109:7 = #8 0xa7038c in do_ecmd /home/travis/build/neovim/neovim/src/nvim/ex_cmds.c:2483:24 = #9 0xb5bb49 in do_exedit /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:6839:9 = #10 0xb7b6d8 in ex_edit /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:6767:3 = #11 0xb2a598 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2208:5 = #12 0xb08f47 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:602:20 = #13 0x109997b in nv_colon /home/travis/build/neovim/neovim/src/nvim/normal.c:4492:18 = #14 0x1081188 in normal_execute /home/travis/build/neovim/neovim/src/nvim/normal.c:1135:3 = #15 0x170b813 in state_enter /home/travis/build/neovim/neovim/src/nvim/state.c:58:26 = #16 0x103631b in normal_enter /home/travis/build/neovim/neovim/src/nvim/normal.c:464:3 = #17 0xdfb7a8 in main /home/travis/build/neovim/neovim/src/nvim/main.c:552:3 = #18 0x2b8a3c85bf44 in __libc_start_main /build/eglibc-MjiXCM/eglibc-2.19/csu/libc-start.c:287 = = SUMMARY: AddressSanitizer: heap-buffer-overflow /home/travis/build/neovim/neovim/src/nvim/mbyte.c:1457:7 in utf_head_off = Shadow bytes around the buggy address: = 0x0c427fffd950: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 = 0x0c427fffd960: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 = 0x0c427fffd970: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 = 0x0c427fffd980: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 = 0x0c427fffd990: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 = =>0x0c427fffd9a0:[fa]fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa = 0x0c427fffd9b0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa = 0x0c427fffd9c0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa = 0x0c427fffd9d0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa = 0x0c427fffd9e0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa = 0x0c427fffd9f0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa = Shadow byte legend (one shadow byte represents 8 application bytes): = Addressable: 00 = Partially addressable: 01 02 03 04 05 06 07 = Heap left redzone: fa = Heap right redzone: fb = Freed heap region: fd = Stack left redzone: f1 = Stack mid redzone: f2 = Stack right redzone: f3 = Stack partial redzone: f4 = Stack after return: f5 = Stack use after scope: f8 = Global redzone: f9 = Global init order: f6 = Poisoned by user: f7 = Container overflow: fc = Array cookie: ac = Intra object redzone: bb = ASan internal: fe = Left alloca redzone: ca = Right alloca redzone: cb = ==12836==ABORTING ===================================================================================================== ./test/helpers.lua:82: assertion failed! stack traceback: ./test/helpers.lua:82: in function 'check_logs' ./test/functional/helpers.lua:643: in function <./test/functional/helpers.lua:642>
* | | vim-patch:7.4.2343 and mark NA patches (#6384)lonerover2017-03-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | vim-patch:7.4.2343 Problem: Too many old file tests. Solution: Turn several into new style tests. (Yegappan Lakshmanan) https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
* | | build: Rename NEOVIM_* to NVIM_*Justin M. Keyes2017-03-27
| | |
* | | terminal: global 'scrollback' #6352Jakob Schnitzer2017-03-27
|/ / | | | | | | | | | | | | | | | | | | | | Make the 'scrollback' option work like most other buffer-local options: - `:set scrollback=x` sets the global and local value - `:setglobal scrollback=x` sets only the global default - new terminal buffers inherit the global Normal buffers are still always -1, and :setlocal there is an error. Closes #6337