aboutsummaryrefslogtreecommitdiff
path: root/test/unit
Commit message (Collapse)AuthorAge
...
* os/path: Fix path_get_absolute_path for top-level pathsThiago de Arruda2015-09-18
| | | | Close #2833
* os/fs.c: remove os_file_is_readonly()Justin M. Keyes2015-08-17
| | | | | | | | | | | | | | | | | | | os_file_is_readonly() in its current form is equivalent to !os_file_is_writable(). This does not appear to be a bug, because Vim's use of check_file_readonly() (which we changed to os_file_is_readonly()) is equivalent to !os_file_is_writable() in every case. os_file_is_readonly() also fails this test: returns false if the file is non-read, non-write A more useful form would define behavior under these cases: - path is executable (but not writable) - path is non-existent - path is directory But there is no reason for os_file_is_readonly() to exist, so remove it.
* test: more cases for os_file_is_readonly()Justin M. Keyes2015-08-17
|
* test: cover os_file_is_readable()Justin M. Keyes2015-08-17
|
* queue: Implement a more flexible event queueThiago de Arruda2015-08-13
|
* test: fix pending() invocationsJustin M. Keyes2015-08-09
| | | | | AFAICT busted does not report pending() invocations without the 2nd argument.
* os/fs: Move mkdir_recurse from eval.c to os/fs.cZyX2015-07-26
|
* event loop: New abstraction layer with refactored time/signal APIThiago de Arruda2015-07-17
| | | | | | | | | | - Add event loop abstraction module under src/nvim/event. The src/nvim/event/loop module replaces src/nvim/os/event - Remove direct dependency on libuv signal/timer API and use the new abstraction instead. - Replace all references to uv_default_loop() by &loop.uv, a new global variable that wraps libuv main event loop but allows the event loop functions to be reused in other contexts.
* rbuffer: Reimplement as a ring buffer and decouple from rstreamThiago de Arruda2015-07-01
| | | | | | | | | | | | | | | | | | | | Extract the RBuffer class from rstream.c and reimplement it as a ring buffer, a more efficient version that doesn't need to relocate memory. The old rbuffer_read/rbuffer_write interfaces are kept for simple reading/writing, and the RBUFFER_UNTIL_{FULL,EMPTY} macros are introduced to hide wrapping logic when more control is required(such as passing the buffer pointer to a library function that writes directly to the pointer) Also add a basic infrastructure for writing helper C files that are only compiled in the unit test library, and use this to write unit tests for RBuffer which contains some macros that can't be accessed directly by luajit. Helped-by: oni-link <knil.ino@gmail.com> Reviewed-by: oni-link <knil.ino@gmail.com> Reviewed-by: Scott Prager <splinterofchaos@gmail.com> Reviewed-by: Justin M. Keyes <justinkz@gmail.com> Reviewed-by: Michael Reed <m.reed@mykolab.com>
* test: Ensure proper initialization in unit/helpers.luaThiago de Arruda2015-07-01
| | | | | Remove helpers.vim_init and simply perform the required initialization in helpers.lua.
* tests: Use pending() instead of silently skipping test. #2737Florian Walch2015-05-29
|
* unify jobstart, termopen, and system interfacesScott Prager2015-05-02
| | | | | | | | | | | | | | | | | For any of these functions, if {cmd} is a string, execute "&shell &shellcmdflag '{cmd}'", or simply {cmd} if it's a list. In termopen(), if the 'name' option is not supplied, try to guess using '{cmd}' (string) or {cmd}[0] (list). Simplify ex_terminal to use the string form of termopen(). termopen: get name from argument Convert list_to_argv to tv_to_argv. Helped-by: Björn Linse <@bfredl> Helped-by: oni-link <knil.ino@gmail.com> Helped-by: Thiago de Arruda <@tarruda>
* Implement os_unsetenv()Rui Abreu Ferreira2015-04-14
| | | | | | | - In UNIX systems where unsetenv() is available, it is used. Otherwise the variables are set with the empty string. - New check HAVE_UNSETENV for unsetenv() - Added unit test to env_spec.lua
* tests: Fix test setup/teardown in path_spec.lua #2402David Bürgin2015-04-12
| | | | | | | | A call to lfs.mkdir instead of lfs.rmdir left a temp directory hanging around. Changed to do proper setup/teardown using {before,after}_each. Helped-by: Scott Prager <splinterofchaos@gmail.com> Suggested-by: Scott Prager <splinterofchaos@gmail.com>
* Use lfs.currentdir() to fix symlink test fail.Rich Churcher2015-04-01
|
* path_fix_case: unit testScott Prager2015-03-31
|
* refactor: add tests for env_expand_escbobtwinkles2015-03-24
|
* tests: prevent busted from reloading the ffi module and othersJohn Szakmeister2015-03-01
| | | | | | | | | | | It turns out that Busted started cleaning the environment in 2.0rc5 as a result of Olivine-Labs/busted#62. This, in turn, caused the ffi module to be reloaded for each spec file, and LuaJIT doesn't appreciate it. The net effect is an assertion error in LuaJIT. By using the --helper feature of Busted, we can pre-load some modules ahead of Busted and prevent it from reloading them--making LuaJIT happy again.
* tests: require luassert in the helpersJohn Szakmeister2015-03-01
| | | | | | | | This is necessary for newer versions of Busted, otherwise assert will be nil and the tests will die. Note: this does not mean the tests now work with the latest Busted. There are still several issues preventing that from happening.
* Merge pull request #1965 from jszakmeister/fix-fs-spec-test-for-freebsdJohn Szakmeister2015-02-11
|\ | | | | Fix an fs_spec test under FreeBSD and a symlinked home directory.
| * Fix an fs_spec test under FreeBSD and a symlinked home directory.John Szakmeister2015-02-09
| | | | | | | | | | | | | | | | | | | | It turns out the FreeBSD 10 VM has a symlink for the home directory to /usr/home. Unfortunately, this breaks the test as arg[0] may not have the symlink resolved, but the path returned from the exe() call will. As a result, the comparison fails, even though the result is correct. Let's fix this by running the absolute path through exe() too, and then comparing the results.
* | Merge pull request #1958 from ↵John Szakmeister2015-02-11
|\ \ | | | | | | | | | | | | jszakmeister/fix-unittest-header-parsing-on-freebsd unittests: define _Thread_local to be nothing
| * | unittests: define _Thread_local to be nothingJohn Szakmeister2015-02-09
| |/ | | | | | | | | This helps the LuaJIT ffi module to parse the header correctly. Otherwise, the whole suite of tests fail.
* / Get rid of a bashism in the fs_spec test. #1964John Szakmeister2015-02-09
|/ | | | | FreeBSD doesn't use bash by default, causing the group id to be print out in the middle of the test.
* test: fix formatc.lua oddity on OSX/gccNicolas Hillegeer2015-01-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The primitive C canonicalizer we use to strip out duplicate header declarations and keep luajit's ffi happy, didn't work properly in this case. What happened is this (in /usr/include/ctype.h): __DARWIN_CTYPE_TOP_inline int isspecial(int _c) { return (__istype(_c, _CTYPE_T)); } Gets preprocessed to something like: __inline int isspecial(int _c) { return (__istype(_c, _CTYPE_T)); } On OSX/gcc. The formatter wasn't recognizing this entire function as something to put on a single line because it naively just checks for "static" or "inline" for that, but not "__inline". This error doesn't occur on OSX/clang. Without looking further into it, I guess that __DARWIN_CTYPE_TOP_inline gets defined to inline on clang, but __inline on gcc, for some reason. This helps issue #1572 along.
* test/os/fs: fix call to lfs.attributesNicolas Hillegeer2015-01-16
| | | | | | | | The second argument to lfs.attributes() serves only to select a specific part of the normally returned table. It's not a file open flag (e.g.: as for fopen() in C). Also made the (n)eq checks a bit more idiomatic. Fixes #1831
* mch_early_init() -> early_init().Scott Prager2014-11-28
| | | | | Move general initialization functions to early_init, which simplifies test/unit/helpers.lua, which requires all these functions.
* unittest: increase number of retries in cimportStefan Hoffmann2014-10-30
|
* unittest: fix handling of pragma pack in `cimport`Stefan Hoffmann2014-10-30
|
* update os_can_exe unit testScott Prager2014-09-17
|
* vim-patch:7.4.235Scott Prager2014-09-17
| | | | | | | Problem: It is not easy to get the full path of a command. Solution: Add the exepath() function. https://code.google.com/p/vim/source/detail?r=5ab2946f7ce560985830fbc3c453bb0f7a01f385
* unit tests: initialize everythingJustin M. Keyes2014-09-11
|
* unit tests: avoid global scope; add missing cimportsJustin M. Keyes2014-09-11
| | | | temporarily comment out call to vim_deltempdir() to avoid segfault
* unit tests: helpers.lua: hack to avoid empty popen() resultJustin M. Keyes2014-09-11
|
* fileid: rename os_file_id_equal_file_infoStefan Hoffmann2014-08-31
|
* fileid: rename os_file_id_equalStefan Hoffmann2014-08-31
|
* fileid: rename os_get_file_idStefan Hoffmann2014-08-31
|
* fileinfo: rename os_file_info_get_inodeStefan Hoffmann2014-08-31
|
* fileinfo: rename os_file_info_get_idStefan Hoffmann2014-08-31
|
* fileinfo: rename os_file_info_id_equalStefan Hoffmann2014-08-31
|
* fileinfo: rename os_get_file_info{,_link,_fd}Stefan Hoffmann2014-08-31
|
* fileinfo: implement os_fileinfo_blocksizeStefan Hoffmann2014-08-31
|
* fileinfo: implement os_fileinfo_hardlinksStefan Hoffmann2014-08-31
|
* fileinfo: implement os_fileinfo_sizeStefan Hoffmann2014-08-31
| | | | this replaces os_get_file_size and file_info.stat.st_size
* unittest: Move FileInfo tests one level upStefan Hoffmann2014-08-31
|
* unittest: Remove remaining moonscript referencesThiago de Arruda2014-08-31
|
* unittest: convert set.moon to luaThiago de Arruda2014-08-31
|
* unittest: convert preprocess.moon to luaThiago de Arruda2014-08-31
|
* unittest: convert users_spec.moon to luaThiago de Arruda2014-08-31
|
* unittest: convert path_spec.moon to luaThiago de Arruda2014-08-31
|