aboutsummaryrefslogtreecommitdiff
path: root/scripts
Commit message (Collapse)AuthorAge
* 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.
* Build: Enable valgrind's --leak-check when testing the APIThiago de Arruda2014-05-26
|
* API: Events: Return channel id from the API discover requestThiago de Arruda2014-05-26
| | | | | This refactors msgapck_rpc_{dipatch,call} to receive the channel id as argument. Now the discovery request returns the [id, metadata] array.
* API: Test: Setup basic test infrastructureThiago de Arruda2014-05-23
| | | | | | | | | | | | | | | | | | | | | | - Add a 'expect' utility script that can run simple API tests using clients developed for any platform. - Extend travis build matrix to run API tests using the python client and valgrind. This script can be used to write API tests without having to manage nvim's lifetime: - It starts a single nvim instance listening on a known socket - Invokes the test runner, which should connect to NEOVIM_LISTEN_ADDRESS - The nvim instance started by the script provides a `BeforeEachTest` function, which should be called before each test to reset nvim to a clean state. - It takes care of shutting down nvim once the tests are finished. As explained [here](https://github.com/neovim/neovim/pull/737#issuecomment-43941520), it's not possible to fully reset nvim to it's initial state, but the `BeforeEachTest` function should be enough for most test cases. Tests requiring a fully clean nvim instance should take care of starting/stopping nvim.
* Remove hardcoded type names from msgpack-gen.luaThiago de Arruda2014-05-17
| | | | | Except for the `Error *` type, all parameter types are valid identifiers, so reuse that LPeg rule.
* Introduce nvim namespace: Fix build process.Eliseo Martínez2014-05-15
| | | | | | | - Leave src as include dir (for includes to recognize 'nvim/' prefix). - Change subdirectory from src to src/nvim. - Fix msgpack generation. - Fix some other paths to new locations.
* Refactor API types and prototypesThiago de Arruda2014-05-12
| | | | | | | | - Split functions with multiple files in the 'api' subdirectory - Move/Add more types in the 'api/defs.h' header - Add more prototypes - Refactor scripts/msgpack-gen.lua - Move msgpack modules to 'os' subdirectory
* coveralls upload should not fail the CI buildJustin M. Keyes2014-05-07
| | | | - swallow error code
* Hold java packages to speed up buildLeonard Ehrenfried2014-04-28
|
* Remove deprecated "--use-mirrors"Steven Myint2014-04-26
| | | | | | | In newer versions of `pip`, it is obsolete. See the following relevant links. https://pip.readthedocs.org/en/latest/news.html https://github.com/eddyxu/cpp-coveralls/pull/37
* Install the libncurses5-dev:i386 package to get the correct symlinks.John Szakmeister2014-04-23
|
* Fix clint.sh wrapper script and broken filesThiago de Arruda2014-04-22
| | | | | - Fixed clint.sh, it no longer ignores errors in individual files. - Fixed two files that weren't passing the clint test
* Configure travis to perform a 32-bit buildThiago de Arruda2014-04-22
| | | | | | | | - Build targeting 32-bit with travis - Code in `before_install`/`after_success` was moved to travis.sh since it provides greater flexibility for detecting the build matrix environment. This improves the build speed since we now install only what's necessary. - Now clint has a dedicated travis worker
* Configure travis to use prebuilt dependenciesThiago de Arruda2014-04-16
| | | | | | | | | Dependencies are now hosted in a github repository and this brings two advantages: - Improved build time with travis since we no longer have to build each dependency - Less chance of build errors due to external servers being down since Github is now the single point of failure
* Add `msgpack_rpc_dispatch`/metadata generatorThiago de Arruda2014-04-11
| | | | | | | | | | | | | | | | | | This adds a lua script which parses the contents of 'api.h'. After the api is parsed into a metadata table. After that, it will generate: - A msgpack blob for the metadata table. This msgpack object contains everything scripting engines need to generate their own wrappers for the remote API. - The `msgpack_rpc_dispatch` function, which takes care of validating msgpack requests, converting arguments to C types and passing control to the appropriate 'api.h' function. The result is then serialized back to msgpack and returned to the client. This approach was used because: - It automatically modifies `msgpack_rpc_dispatch` to reflect API changes. - Scripting engines that generate remote call wrappers using the msgpack metadata will also adapt automatically to API changes
* Run clint.py in some filesThiago de Arruda2014-04-08
|
* Force travis build failure when some test failsThiago de Arruda2014-04-03
|