aboutsummaryrefslogtreecommitdiff
path: root/test/unit/helpers.moon
Commit message (Collapse)AuthorAge
* unittest: convert helpers.moon to luaThiago de Arruda2014-08-31
|
* Units: Move NULL, OK, and FAIL to helpers.moon. #982Scott Prager2014-07-30
|
* test/helpers: allow interning Pascal stringsNicolas Hillegeer2014-07-27
| | | | | os_system() returns a Pascal string, for example (it also NUL-terminates the string, but that's neither here nor there).
* test/helpers: add 'vim_init' helperNicolas Hillegeer2014-07-16
| | | | | - Initializes some global variables. - Necessary for the buffer tests in PR #904.
* Introduce nvim namespace: Fix unit tests.Eliseo Martínez2014-05-15
| | | | Point cimports to new locations.
* Generate a lua module to help pass build-related settings.John Szakmeister2014-05-03
| | | | | | | This allows us to avoid hard-coding paths and using environment variables to communicate key information to unit tests, which fits with the overall goal of making sure that folks driving CMake directly can continue to do out-of-tree builds.
* test: fix the cimport methodNicolas Hillegeer2014-04-28
| | | | | | | | | | | | | | | | | | This commit will hopefully allow the cimport method to be used just as one would use #inclue <header.h> in C. It follows the following method: 1. create a pseudoheader file that #include's all the requested header files 2. runs the pseudoheader through the C preprocessor (it will try various compilers if available on the system). 3. runs the preprocessed file through a C formatter, which attempts to group statements on one line. For example, a struct definition that was formerly on several lines will take just one line after formatting. This is done so that unique declarations can be detected. Duplicates are thus easy to remove. 4. remove lines that are too complex for the LuaJIT C parser (such as: Objective-C block syntax, crazy enums defined on linux, ...) 5. remove duplicate declarations 6. pass result to ffi.cdef
* Revamp the build system.John Szakmeister2014-03-21
| | | | | | | | | | | | | | | | | | | | | This achieves several goals: * Less reliance on scripts so we have better portability to Windows (though we still have a ways to go for proper Windows support). Luajit, luarocks, moonscript, and busted are all installed via CMake now. * Trying to make use of pkg-config to get the correct libraries. The latest libuv is still broken in this regard, but we'll at least be in a position to use it. * Allow the use of Ninja or make. The former runs faster in many environments, and automatically makes use of parallel builds. This also allows for system installed dependencies--though not through the Makefile just yet--and adds support for FreeBSD. This also make us build libuv and luajit as static libraries only, since we're only concerned about having static libraries for our bundled dependencies.
* Add unit tests for mch_[gs]etperm.Thomas Wienecke2014-03-15
| | | | | Use preprocessor trick proposed by @mahkoh to import 'defines' like S_IRUSR.
* Fix bugs, clean code, add tests.Thomas Wienecke2014-03-07
| | | | | | | | * Add const specifiers, update comments, add assert. * Move os_unix.moon tests to os/fs.moon + clean tests. * Add uv_fs_req_cleanup call. * Add tests with absolute paths to mch_isdir. * Add to_cstr to test/unit/helpers.moon and fix respective unit tests.
* Apply small refactor to unit testsThiago de Arruda2014-03-04
| | | | | Redefine macro constants as enums in the ffi and import those in their respective test modules.
* Add basic infrastructure for unit testingThiago de Arruda2014-02-27
Tests will be written using the [moonscript](http://moonscript.org/) language, a lua 'dialect' that is whitespace-significant and has a syntax similar to coffeescript. The test framework used is [busted](http://olivinelabs.com/busted/), a bdd framework for lua/moonscript. Luajit has a nice ffi module, which lets lua programs link shared libraries and call it's functions without writing any C code. To take advantage of this fact for testing C functions, a new target was added to CMakeLists.txt, which compiles neovim as a shared library that is loaded by the process running the tests. This commit adds necessary code for downloading and installing a lua package manager(luarocks) locally. It wasn't added as a subtree because there are quite a few blobs in its source tree.