aboutsummaryrefslogtreecommitdiff
path: root/test/functional/shada
Commit message (Collapse)AuthorAge
...
* shada: Make sure that NIL and EXT values can also be parsed backZyX2016-04-18
| | | | | | | | | Note: currently they are both *dumped*, but parsing them produces an error. This is inappropriate: variables should either be skipped with error message when dumping or should be read back properly. It also appears that I did not have test for “has wrong variable value type” error, so nothing got removed from errors_spec.
* Update lua client to 0.0.1-24Thiago de Arruda2016-04-13
| | | | | The new version of the lua client uses libmpack as a backend, and some test scripts had to be updated to reflect that.
* Synchronize shada reset helper with other functional testsThiago de Arruda2016-04-11
|
* test: shada_spec: resolve symlinkJun T2016-02-12
| | | | | | If the build directory path has symlinks in it, 'make functionaltest' fails at shada_spec.lua:177 because readme_fname has symlink but nvim resolves the symlink when writing it into the shada file.
* functests: Update testsZyX2016-01-07
|
* shada: Continue dumping when variables failed to dumpZyX2015-12-18
| | | | Closes #3721
* Merge pull request #3724 from ZyX-I/fix-3635Justin M. Keyes2015-11-27
|\ | | | | shada: Do not save unlisted and quickfix buffers
| * shada: Do not save unlisted and quickfix buffersZyX2015-11-23
| | | | | | Fixes #3635
* | Merge pull request #3581 from ZyX-I/fix-shadaFelipe Morales2015-11-23
|\ \ | | | | | | Store last search direction when writing ShaDa files
| * | shada: Also store last search directionZyX2015-11-23
| |/ | | | | | | | | | | | | | | | | | | Note: it looks like viminfo files do not store search direction intentionally. After reading viminfo file search direction was considered to be “forward”. Note 2: all files created on earlier Neovim version will automatically receive “forward” direction. Fixes #3580
* / test/functional: clean up according to luacheck (part 1)Marco Hinz2015-11-23
|/
* Sort oldfiles in the marks_spec tests to avoid random ordering errors.John Szakmeister2015-11-06
| | | | | According to @ZyX-I in #3594, ordering is not important so let's use @tarruda's fix by sorting the results.
* functests: Add test to check expected behaviour (failing)ZyX2015-10-23
|
* shada: Fix memory leak and double free when setting both &vi and &sdZyX2015-10-08
|
* functests: Refactor tests:ZyX2015-10-08
| | | | | | | | - Remove unused variables. - Do not use helpers.nvim_feed in most cases. - Do not use helpers.nvim and helpers.nvim_eval at all. - Add helpers.funcs and helpers.\*meths special tables. Indexing such table creates functions which call helpers.call or helpers.nvim (and similar) with first argument equal to table index.
* shada: Fix jump/change list merging codeZyX2015-10-08
| | | | | | Errors happens under following conditions: 1. Jump/change list is full. 2. New jump/change list item should go between some of the old ones.
* shada: Make sure that shada-r option correctly ignores caseZyX2015-10-08
|
* shada: When using shada-r normalize option pathZyX2015-10-08
|
* functests: Move exc_exec to test.functional.helpersZyX2015-10-08
|
* functests: Do not disable pattern testsZyX2015-10-08
| | | | | Problem that led to this skip was fixed in [#3309][1]. [1]: https://github.com/neovim/neovim/commit/0a116c828debc6192a6bfb6bceb8cf020e867db0
* shada: Fix out-of-bounds array accessZyX2015-10-08
| | | | It leads to a memory leak as well. May overwrite wms->jumps_size.
* shada: Fix v:hlsearch save/restore and do not write empty patternsZyX2015-10-08
|
* shada,functests: Fix v:hlsearch saving/restoring handlingZyX2015-10-08
|
* documentation/functests: Replace NeoVim with NeovimZyX2015-10-08
|
* shada: Refuse to write ShaDa file when ShaDa was disabledZyX2015-10-08
|
* functests: Make one recover_spec test also use gdb or valgrindZyX2015-10-08
|
* eval,functests: Reference all additional_* items created by ShaDaZyX2015-10-08
|
* shada: Fix crash in hmll_insertZyX2015-10-08
| | | | | | | | | | | | | | | | | This problem made test64 to crash. Description of the bug: when removing entry from history when removed entry is not the last one it puts one element to free_entries list, but ignores free entries starting from last_free_element. Possible solutions: 1. First working: simply populate free_entries list with entries which are still free, starting from last_free_element. 2. Better (wastes less CPU): after free_entries list size goes to zero (which is the initial value) continue using last_free_element. 3. Even better (less memory): note that element from the list is *only* removed before adding another one. So replace free_entries array with one item. Also renamed last_free_element to last_free_entry: in any case most of the lines which mention it were altered.
* functests: Disable some tests when running with address sanitizerZyX2015-10-08
| | | | Ref #1350
* shada: Use same merging code for jumps and changesZyX2015-10-08
|
* shada,functests: Add tests for merging ShaDa dataZyX2015-10-08
|
* shada,functests: Make sure that v:oldfiles list is reset on :rshada!ZyX2015-10-08
|
* functests: Add a number of “generic” functional testsZyX2015-10-08
|
* shada,functests: Use special sd_reader function for skippingZyX2015-10-08
|
* functests: Move wshada and sdrcmd commands to helpersZyX2015-10-08
|
* shada,functests: Improve detection of invalid ShaDa filesZyX2015-10-08
| | | | | | | | | | | | | | | | It appears that large portion of non-ShaDa ASCII text files may be parsed as a ShaDa file because it is mostly recognized as a sequence of unknown entries: all ASCII non-control characters are recognized as FIXUINT shada objects, so text like #!/bin/sh powerline "$@" 2>&1 | tee -a powerline (with trailing newline) will be recognized as a correct ShaDa file containing single unknown entry with type 0x23 (dec 35, '#'), timestamp 0x21 (dec 33, '!') and length 0x2F (dec 47, '/') without this commit. With it parsing this entry will fail.
* shada,functests: Test compatibility supportZyX2015-10-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For compatibility the following things are done: 1. Items with type greater then greatest type are ignored when reading and copied when writing. 2. Registers with unknown name are ignored when reading and blindly copied when writing. 3. Registers with unknown type are ignored when reading and merged as usual when writing. 4. Local and global marks with unknown names are ignored when reading. When writing global marks are blindly copied and local marks are also blindly copied, but only if file they are attached to fits in the `'N` limit defined in &shada. Unknown local mark’s timestamp is also taken into account when calculating which files exactly should fit into this limit. 5. History items with unknown type are ignored when reading and blindly copied when writing. 6. Unknown keys found in register, local marks, global marks, changes, jumps and search pattern entries are read to additional_data Dictionary and dumped (of course, unless any of these elements were not overwritten later). It obviously works only for values conversible to Object type. 7. Additional elements found in replacement string and history entries are read to additional_elements Array and dumped (same: only if they were not overwritten later). Again this works only for elements conversible to Object type. 8. Additional elements found in variable entries are simply ignored when reading. When writing *new* variables they will be preserved during merging, but that’s all. Variable values dumped from current NeoVim session never have additional elements.
* shada: Do not allow empty keysZyX2015-10-08
|
* shada,documentation: Extend read error handling, handle write errorsZyX2015-10-08
| | | | | | | | Modifications: - If file was not written due to write error then writing stops and temporary file will not be renamed. - If NeoVim detects that target file is not a ShaDa file then temporary file will not be renamed.
* shada,functests: Test how ShaDa support code reacts on errorsZyX2015-10-08
| | | | | | | | | | | | | | Some notes: - Replaced msgpack_unpacker usage with regular xmalloc’ed buffer. Also since msgpack_unpack_next (as well as msgpack_unpacker_next) is not ever going to return MSGPACK_UNPACK_EXTRA_BYTES this condition was checked manually. Function that does return this status is msgpack_unpack, but it is marked as obsolete. - Zero type is checked prior to main switch in shada_read_next_item because otherwise check would be skipped. - Zeroing entry at the start of shada_read_next_item makes it safer. - dedent('') does not work. - v:oldfiles list is only replaced with bang, if it is NULL or empty.
* functests: Test that history is still accessible after :wshadaZyX2015-10-08
|
* shada: Populate v:oldfilesZyX2015-10-08
|
* shada: Save v:hlsearch valueZyX2015-10-08
|
* Deprecate &viminfo and :[rw]v, add &shada and :[rw]shZyX2015-10-08
|
* functests: Fix change list ShaDa test failuresZyX2015-10-08
|
* functests: Test &encoding supportZyX2015-10-08
|
* shada,functests: Refactor shada items skippingZyX2015-10-08
|
* functests: Test dumping and loading change listZyX2015-10-08
|
* functests: Add tests for dumping/restoring registersZyX2015-10-08
|
* shada: Add support for dumping and restoring buffer listZyX2015-10-08
|