Commit Graph

54 Commits

Author SHA1 Message Date
Florian Walch
a3399f9a63 Travis: Install Python 3 to run Python 3 tests.
Install Python 3.3 from the Deadsnakes PPA. As this doesn't have pip,
install it manually into ~/.local.

~/.local/bin is apparently in Travis's default PATH, meaning "pip"
doesn't refer to Python 2's pip anymore, but to the manually
installed Python 3 version. Updated the scripts to use version-
suffixed executable names (e.g. pip2.7).

Set CC=cc to use system's default compiler when installing Python
modules, as gcc on OS X had a problem with compiling one of the
dependencies of the Neovim Python module.
2015-09-27 00:03:06 +02:00
Florian Walch
10cdf8c286 Travis: Cache third-party build directory.
Instead of just caching the third-party build output, cache the full
build directory. Always run make to ensure that updated dependencies
are downloaded.
2015-09-09 17:23:22 +02:00
Thiago de Arruda
7eaeed112e travis: Enable TSAN for sanity checking the terminal UI 2015-09-06 09:18:52 -03:00
Felipe Morales
4912dcf3c7 install tutorial files #3180 2015-08-16 14:02:35 -04:00
ZyX
a6c6128681 runtime: Do install generated syntax file, also test this. #3160
Fixes #3157
2015-08-11 13:50:43 -04:00
Florian Walch
be39fc9151 Travis: Check some configuration variables in before_script. 2015-07-08 07:42:16 -03:00
Florian Walch
78ec75fb60 Travis: Use gcov that matches the used compiler.
This fixes gcov/coveralls warnings like the following:

    Segmentation fault (core dumped)
    charset.c.gcno:version '501*', prefer '406*'
    Out of memory allocating 33061786568 bytes after a total of 2522648 bytes

http://stackoverflow.com/a/14676272/249642
2015-07-08 07:42:16 -03:00
Florian Walch
d2eb4a9346 Travis: Refactor CI files, use container infrastructure.
* Split build steps to utilize the Travis build lifecycle.
 * Move shell code from `.travis.yml` into Bash files in `.ci/`,
   one file for each step of the Travis build lifecycle.
 * Use configuration variables in `.travis.yml` to change
   build behavior (e.g. build 32-bit with `BUILD_32BIT=ON`).
 * Keep all configuration in environment variables in
   `.travis.yml`. In scripts, concatenate environment variables
   according to configuration to change to different behavior.
 * Add GCC 5 builds for Linux.
 * Use Travis's caching feature [1] for third-party dependencies
   and pip packages.
 * Allow failures MSan, as the errors it reports have to be
   fixed first.

Valgrind is still disabled, but can be enabled by setting
`env: VALGRIND=ON` for a job in `.travis.yml`.

[1] http://docs.travis-ci.com/user/caching
2015-07-08 07:42:16 -03:00
Florian Walch
03062b8db0 Travis: Disable functional tests and allow failures for MSan.
* Functional tests fail with SIGPIPE: disable them until we
   figure out the exact problem.
 * MSan reports some warnings: allow failures for the Travis
   build to allow fixing them in individual follow-up PRs.
2015-07-05 10:31:16 +03:00
Florian Walch
b456d084a2 Travis: Use Clang 3.6. 2015-07-05 10:31:16 +03:00
Florian Walch
fe6bd8cae2 CMake: Add option for Clang TSan, rename option ASAN -> ASAN_UBSAN. 2015-07-05 10:31:16 +03:00
Florian Walch
bd9042b1a9 CMake: Add option for Clang MSan. 2015-07-05 10:31:16 +03:00
Florian Walch
232c40b40a Travis: Disable Valgrind in GCC build. #2806
With Valgrind, the GCC build frequently passed the 50 min timeout on
Travis.
2015-06-09 10:29:07 +03:00
Rui Abreu Ferreira
f65614fb1c Travis: Add Mingw third-party builds
- Build third-party/ in Travis using mingw
- Import mingw-w64 cmake toolchain
2015-05-15 17:55:02 +03:00
Michael Reed
75a884c41d ci: Remove USE_JEMALLOC reference
It was removed in 8130eb1191
2015-05-13 17:37:19 -04:00
grtlr
e692930af2 Travis: install g++-multilib #2515 2015-04-26 16:27:36 +03:00
Shougo Matsushita
577d9f3f7e Improve travis ci script
Reviewed-by: Justin M. Keyes <justinkz@gmail.com>, Nikolay Pavlov <zyx.vim@gmail.com>
2015-04-21 06:20:45 +09:00
grtlr
1b07f5711c Travis: Remove unused dependencies #2431 2015-04-16 18:25:03 +03:00
Thiago de Arruda
d119fb7f1d travis: Don't use jemalloc for the gcc build
It seems valgrind hangs if jemalloc is used.
2015-04-13 12:30:23 -03:00
Florian Walch
4e5f083c0b Travis: Run unit tests for Clang build. 2015-01-30 11:29:33 +01:00
Florian Walch
2e28f78971 Travis: Fix OS X builds. 2015-01-29 16:52:47 +01:00
Thiago de Arruda
c5df2f38ff travis: Install neovim module for testing the python provider.
python_spec.lua depends on the python client installed.
2015-01-29 11:29:44 -03:00
Florian Walch
e21f6e754d Linting: Integrate into CMake, enable by default. 2014-12-24 00:32:26 -05:00
Florian Walch
4982a2d257 Travis: Simplify clint script. 2014-12-14 21:42:36 +01:00
Florian Walch
463c20ebb0 Travis: Change search pattern for core dumps.
Would otherwise find files in .deps if dependencies are built.
2014-12-14 21:42:36 +01:00
Florian Walch
ddaa481236 Travis: Add flag to force building of dependencies. 2014-12-14 21:42:30 +01:00
Florian Walch
2036fd8166 Travis: Perform installation test on 32-bit build. 2014-12-14 21:41:02 +01:00
oakes
975f4ec350 Build libnvim on CI server 2014-12-12 14:49:05 -05:00
John Szakmeister
d5741e5124 Merge pull request #1604 from equalsraf/tb-env-configs
Don't use env vars for configuration time options.
2014-12-12 05:31:45 -05:00
John Szakmeister
82748c36ef build: use plainTerminal for tests on Travis CI 2014-12-04 05:03:48 -05:00
Rui Abreu Ferreira
923d021c0f Don't use env vars for configuration time options
- As a general rule of thumb one shouldn't use environment variables
  for setting configuration options for CMake. The reason for this is
  we don't know when CMake will be executed and re-evaluate that variable.
- e.g. If we run cmake a first time with a var set, and then run make on
  a second session (with no var) and cmake is called because a
  dependency changed, the option would be disabled
- This commit removes the use of environment vars from
  src/nvim/CMakeLists.txt entirely
- Removed SKIP_UNITTEST since it could only be used to remove a target
  at configuration time (and the target was optional anyway)
- Turned SANITIZE into an option, clang-asan.sh now passes cmake
  -DSANITIZE=ON
- Removed SKIP_EXEC since it was disabling a target at configuration time
  (not being used)
2014-12-03 14:23:08 +00:00
John Szakmeister
41f1678767 Revert "Merge pull request #1587 from equalsraf/tb-env-configs"
This reverts commit 53bccaaf99, reversing
changes made to 4049002f6b.
2014-12-03 07:29:03 -05:00
Rui Abreu Ferreira
6e9af3c5dc Don't use env vars for configuration time options
- As a general rule of thumb one shouldn't use environment variables
  for setting configuration options for CMake. The reason for this is
  we don't know when CMake will be executed and re-evaluate that variable.
- e.g. If we run cmake a first time with a var set, and then run make on
  a second session (with no var) and cmake is called because a
  dependency changed, the option would be disabled
- This commit removes the use of environment vars from
  src/nvim/CMakeLists.txt entirely
- Removed SKIP_UNITTEST since it could only be used to remove a target
  at configuration time (and the target was optional anyway)
- Turned SANITIZE into an option, clang-asan.sh now passes cmake
  -DSANITIZE=ON
- Removed SKIP_EXEC since it was disabling a target at configuration time
  (not being used)
2014-12-02 14:36:47 +00:00
Florian Walch
987ee79bb7 Travis: Prepare for OS X builds.
* Use bot-ci script at to set up prebuilt dependencies.
 * Make CI scripts more consistent.
2014-11-28 22:57:18 +01:00
Florian Walch
75335f01a0 Travis: Remove Coverity build.
Coverity is now handled by neovim/bot-ci.
2014-11-16 20:39:24 +01:00
Thiago de Arruda
9615258d1a travis: Test nvim --version in gcc build
The --version flag drives Nvim to take a different code path, which is worth
testing. Now we do it in the "gcc" ci target(It will only fail if the exit code
is different than 0)
2014-11-03 21:51:51 -03:00
Thiago de Arruda
b320904382 travis: Force travis build to fail when core files are dumped 2014-11-03 21:51:44 -03:00
Thiago de Arruda
9e41dd07e4 travis: Make sure valgrind report is shown on test failures 2014-10-29 23:33:10 -03:00
Thiago de Arruda
97f0c1eda1 travis: Force verification of DLOG macros
We use INFO as the default log level, which leaves code inside DLOG macros
unverified(currently it has compilation errors).

Decrease the log level on travis builds for automatic verification in PRs.
2014-10-22 11:26:36 -03:00
Thiago de Arruda
276ac99350 travis: Remove install_functional_test_deps function
It is no longer needed after the lua client was added as dependency
(@69561ea922ae6789703c06cbc245929d7c625db9)
2014-10-21 11:07:13 -03:00
Thiago de Arruda
0c2ec77ae0 test: Use lua to perform sanity API checks
Sanity API checks made by the python-client in the api-python travis target were
converted to lua and will now live in this repository. This will simplify
performing breaking changes to the API as it won't be necessary to send parallel
PRs the python-client.
2014-10-16 14:06:54 -03:00
Thiago de Arruda
93a45ccc25 travis: Fix clang-asan to always display memory errors
Always check the logs in case of test failures(which would happen when ASAN
finds an error since it will abort Nvim).

Also run the 'oldtest' target from the gcc-32.sh script
2014-10-01 21:42:00 -03:00
Thiago de Arruda
911acd22d8 travis: Refactor {valgrind,asan}_check functions
Put all logic into the `check_logs` function and use the `find` command to avoid
having to deal with empty directory errors when globbing files.
2014-09-30 17:39:13 -03:00
Thiago de Arruda
42d5b526b9 test: Replace vroom by lua/busted for functional tests
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
2014-09-30 17:37:16 -03:00
Thiago de Arruda
2a67b847aa build/test: install vroom/python-client from the master branch 2014-09-12 13:50:07 -03:00
Thiago de Arruda
af61a286b2 main: Rename --embedded-mode and --api-msgpack-metadata options
--embedded-mode        -> --embed
--api-msgpack-metadata -> --api-info
2014-09-12 13:25:28 -03:00
Justin M. Keyes
042aca6eb4 Merge pull request #1098 from fwalch/update-busted
Update busted to version 2.
2014-09-12 09:54:10 -04:00
Florian Walch
0a01b3052e Update busted to 2.0.rc3.
Default to verbose output to show more information in case of errors.
Fix #1031.
2014-09-11 20:03:35 +02:00
Florian Walch
579e0baba0 Travis: Add subdirectories to dependency paths. 2014-09-11 19:54:00 +02:00
Thiago de Arruda
887446a038 Fix environment variable for triggering embedded tests
NVIM should be used for all technical identifiers and this was changed in
the python-client
2014-08-29 22:08:58 -03:00