aboutsummaryrefslogtreecommitdiff
path: root/scripts
Commit message (Collapse)AuthorAge
* test: Add 'eval' functional helperThiago de Arruda2014-10-01
| | | | | The eval helper transforms vimL expressions into lua tables, it's useful for verifying function output.
* test: Replace vroom by lua/busted for functional testsThiago de Arruda2014-09-30
| | | | | | | | | | | | | | | | | | | | | The 'lupa' python package provides a simple way to seamless integrate lua and python code. This commit replaces vroom by a python script that exposes the 'neovim' package to a lua state, and invokes busted to run functional tests. This is a temporary solution that will enable writing functional tests using lua/bused while a lua client library is not available. The reason for dropping vroom is flexibility: Lua/busted has a nice DSL-style syntax while also providing the customization power of a full programming language. Another reason is to use a single framework for unit/functional tests. Two other changes were performed in this commit: - Instead of "gcc-unittest/gcc-ia32", the travis builds for gcc are now identified by "gcc/gcc-32". They will run unit/functional tests for both 64 and 32 bits. - Old integration tests(in src/nvim/testdir) are now ran by the 'oldtest' target
* deps: Switch lua msgpack library to one that supports 2.0Thiago de Arruda2014-09-16
|
* msgpack-gen: Fix msgpack_rpc_init_function_metadataThiago de Arruda2014-09-16
| | | | The function was broken on release builds
* server: Rename address environment variableThiago de Arruda2014-09-13
| | | | | To follow the pattern of using NVIM for technical descriptions, it was renamed to NVIM_LISTEN_ADDRESS
* api metadata: Allow typed container information in api functionsThiago de Arruda2014-09-12
| | | | | | | | Adapt gendeclarations.lua/msgpack-gen.lua to allow the `ArrayOf(...)` and `DictionaryOf(...)` types in function headers. These are simple macros that expand to Array and Dictionary respectively, but the information is kept in the metadata object, which is useful for building clients in statically typed languages.
* api/msgpack-rpc: Refactor metadata object constructionThiago de Arruda2014-09-12
| | | | | | | | | Instead of building all metadata from msgpack-gen.lua, we now merge the generated part with manual information(such as types and features). The metadata is accessible through the api method `vim_get_api_info`. This was done to simplify the generator while also increasing flexibility(by being able to add more metadata)
* api/msgpack-rpc: Refactor msgpack_rpc_helpers.{c,h}Thiago de Arruda2014-09-12
| | | | | | - Move helpers that are specific to API types to api/private/helpers.{c,h} - Include headers with generated declarations - Delete unused macros
* api/msgpack-rpc: Parse type information from api/private/defs.hThiago de Arruda2014-09-12
| | | | | | | Enhance msgpack-gen.lua to extract custom api type codes from the ObjectType enum in api/private/defs.h. The type information is made available from the api metadata and clients can use to correctly serialize/deserialize these types using msgpack EXT type.
* msgpack-rpc: Remove support for integer ids in methodsThiago de Arruda2014-09-12
| | | | | There's no need to have integer and string ids, and since we now fully support msgpack-RPC, support for integer ids was removed.
* msgpack-rpc: Refactor API metadata discovery methodThiago de Arruda2014-09-12
| | | | | | | | | | A new method is now exposed via msgpack-rpc: "get_api_metadata". This method has the same job as the old method '0', it returns an object with API metadata for use by generators. There's one difference in the return value though: instead of returning a string containing another serialized msgpack document, the metadata object is returned directly(a separate deserialization step by clients is not required).
* msgpack-rpc: Move handle_missing_method to msgpack_rpc.cThiago de Arruda2014-09-12
| | | | | Since that function is not automatically generated, it's best to place it in a normal C module
* msgpack-rpc: Refactor initializer and dispatcherThiago de Arruda2014-09-12
| | | | | | | | Use Map(String, rpc_method_handler_fn) for storing/retrieving rpc method handlers in msgpack_rpc_init and msgpack_rpc_dispatch. Also refactor serialization/validation functions in the msgpack_rpc.c/msgpack_rpc_helpers.c modules to accept the new STR and BIN types.
* map/msgpack-rpc: Declare/define maps rpc method handlersThiago de Arruda2014-09-12
| | | | | The new map type uses `String` instances as keys to avoid unnecessary copying to zero-terminated buffers.
* deps: Update to the experimental msgpack v5 branchThiago de Arruda2014-09-12
| | | | | | | | Using msgpack v5 will let nvim be more compatible with msgpack libraries for other platforms. This also replaces "raw" references by "bin" which is the new name for msgpack binary data type
* msgpack-rpc: Accept method names in requestsThiago de Arruda2014-08-29
|
* test: Remove cleanup function definition from run-api-tests.expThiago de Arruda2014-08-28
| | | | This function is now injected automatically when running the python-client tests
* Fix problem with test47: addition is not bitwise ORZyX2014-08-20
| | | | | :diffsplit command used to include some flag value twice. If I was using bitwise OR it would be OK, but I had addition here. Changed to use bitwise OR.
* Add const qualifier and explicit lengthZyX2014-08-20
|
* Use lua generator in place of ex_cmds_defs header trickZyX2014-08-20
| | | | | | Closes #788 Fixes #379 Ref #549
* Travis CI: Refactor travis scriptThiago de Arruda2014-08-08
| | | | | | To simplify modification/inclusion of continuous integration targets, this removes travis.sh which contains a big if statement in favor of multiple scripts under the new '.ci' directory.
* Use color_terminal output in place of TAP #995ZyX2014-08-07
|
* travis.sh: Update sources before installing packages.Florian Walch2014-08-06
|
* api tests: set 'initpython' in BeforeEachTestThiago de Arruda2014-07-17
| | | | This is required to run some tests of the python client
* api/events/msgpack: Insert log statements to improve debuggingThiago de Arruda2014-07-17
| | | | | | Also changed the default log level to INFO so developers won't end up with big log files without asking explicitly(DLOG statements were placed in really "hot" code)
* travis.sh: move symbolizer definition into common areaJohn Szakmeister2014-07-17
|
* travis.sh: Simplify clang/asan build.Florian Walch2014-07-16
| | | | | * Clang 3.4 now default on Travis CI. * Introduce config variable to download & use different clang version.
* travis.sh: Use dependencies from neovim/deps.Florian Walch2014-07-16
|
* travis.sh: Fix mixed tabs/whitespace formatting.Florian Walch2014-07-16
|
* move assert.h include out of vim.hBrandon Coleman2014-07-09
|
* dispatch function generator: Fix bug in validation/initializationThiago de Arruda2014-07-07
| | | | | | - Initialize variables before validating argument count to remove possibility of freeing uninitialized pointers - Set the error when the argument count validation fails
* MsgPack-RPC dispatch based on function array lookup #864Felipe Oliveira Carvalho2014-07-04
| | | | | | This simplifies the generated msgpack_rpc_dispatch() function, separates the code for each RPC method more clearly and allows easy implementation of alternative dispatching methods (e.g. string method id dispatch).
* Fix #838: build with "USE_BUNDLED=OFF" fails to find dependenciesJohn Szakmeister2014-06-27
| | | | | | Stop forcing some platform setting that are really intended to be used for Travis CI. Under other systems, like Arch Linux, it prevents dependencies from being correctly located.
* channel/msgpack_rpc: Refactor API dispatchingThiago de Arruda2014-06-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is how API dispatching worked before this commit: - The generated `msgpack_rpc_dispatch` function receives a the `msgpack_packer` argument. - The response is incrementally built while validating/calling the API. - Return values/errors are also packed into the `msgpack_packer` while the final response is being calculated. Now the `msgpack_packer` argument is no longer provided, and the `msgpack_rpc_dispatch` function returns `Object`/`Error` values to `msgpack_rpc_call`, which will use those values to build the response in a single pass. This was done because the new `channel_send_call` function created the possibility of having recursive API invocations, and this wasn't possible when sharing a single `msgpack_sbuffer` across call frames(it was shared implicitly through the `msgpack_packer` instance). Since we only start to build the response when the necessary information has been computed, it's now safe to share a single `msgpack_sbuffer` instance across all channels and API invocations. Some other changes also had to be performed: - Handling of the metadata discover was moved to `msgpack_rpc_call` - Expose more types as subtypes of `Object`, this was required to forward the return value from `msgpack_rpc_dispatch` to `msgpack_rpc_call` - Added more helper macros for casting API types to `Object` any
* channel/msgpack_rpc: Refactor to better split functions across modulesThiago de Arruda2014-06-24
| | | | | Move validation/conversion functions and to msgpack_rpc_helpers to separate those from the functions that are used from the channel module
* Avoid ever creating .deps directoryZyX2014-06-18
| | | | Thanks to @jszakmeister this uses make own features.
* build: increase timeout for run-api-tests.expThiago de Arruda2014-06-18
|
* build: Fix error in dispatch generator for functions with channel_idThiago de Arruda2014-06-18
|
* Make gendeclarations.lua more friendly to incremental buildsThiago de Arruda2014-06-02
| | | | | | Modify gendeclarations.lua to check if the generated non-static declaration header changed before rewriting it with a new version. This is to prevent unnecessary rebuilds of modules that depend on modules that had private changes.
* Remove remaining declarations with new script: finddeclarations.plZyX2014-06-02
|
* Add automatic generation of headersZyX2014-06-02
| | | | | | | | | | | | | | | | | - The 'stripdecls.py' script replaces declarations in all headers by includes to generated headers. `ag '#\s*if(?!ndef NEOVIM_).*((?!#\s*endif).*\n)*#ifdef INCLUDE_GENERATED'` was used for this. - Add and integrate gendeclarations.lua into the build system to generate the required includes. - Add -Wno-unused-function - Made a bunch of old-style definitions ANSI This adds a requirement: all type and structure definitions must be present before INCLUDE_GENERATED_DECLARATIONS-protected include. Warning: mch_expandpath (path.h.generated.h) was moved manually. So far it is the only exception.
* Move documentation from function declarations to definitionsZyX2014-06-02
| | | | Uses a perl script to move it (scripts/movedocs.pl)
* Add --api-metadata command line optionRui Abreu Ferreira2014-06-02
| | | | | - New command line option prints the binary API metadata object and exits
* Make it easier to turn the bundled dependencies off.John Szakmeister2014-05-31
|
* travis/coverity: hotfix #2, unbreak buildNicolas Hillegeer2014-05-31
| | | | | | | I hadn't spotted that the `sh -e` commandline was being used. I *think* this is what's causing the exit 0 line not to run. Pray for success. It's a real shame I can't this locally, what a mess.
* travis/coverity: hotfix, alwasy return successNicolas Hillegeer2014-05-31
| | | | | It seems the coverity script likes to return 1 (error) when the current branch does not follow its pattern. Temporarily disable that.
* travis/coverity: add coverity supportNicolas Hillegeer2014-05-31
| | | | | | | | | | | | | Run only on push to branch coverity-scan. We can use a cron script to do this 4 times a week (that's our allowance). NOTE: possible future improvements are: 1. Fold the build matrix item into another short one so we don't overburden travis. It's a little less clear but it should be nicer on the infrastructure. 2. Change the security token, one can do that from the coverity admin page. 3. Don't do the naive `make depend`, but use the prebuilt libraries.
* Turn off -Werror by default.John Szakmeister2014-05-29
| | | | | | It inteferes with development activities by breaking your build in the middle of a refactor. Instead, let's enable -Werror on the Travis CI builds via a TRAVIS_CI_BUILD option.
* Build: Fix autocmd removal from cleanup functionThiago de Arruda2014-05-28
|
* API: Events: Automatically pass channel ids to API functionsThiago de Arruda2014-05-28
| | | | | The dispatch function generator was customized to allow for API functions to declare a 'channel_id' as first argument.