Commit Graph

828 Commits

Author SHA1 Message Date
Thiago de Arruda
f6ace9962d Refactor travis build to use clang's sanitizers
- Valgrind configuration removed
- Fix errors reported by the undefined behavior sanitizer
- Travis will now run two build steps:
  - A normal build of a shared library for unit testing(in parallel with gcc)
  - A clang build with some sanitizers enabled for integration testing.

After these changes travis will run much faster, while providing valgrind-like
error detection.
2014-03-13 15:26:28 -03:00
Stefan Hoffmann
69967ccaba use more verbose output type for unittests on travis 2014-03-08 06:17:59 -03:00
Thiago de Arruda
cab5c25c70 Fix memory leak and enable valgrind on travis 2014-03-07 00:21:12 -03:00
John Szakmeister
1b5c3331dc Luarocks appears to be down, so let's use the mirror for now. 2014-03-07 00:15:52 -03:00
Islam Sharabash
f124ebadde Adding darwin platform to common.sh build script 2014-03-01 22:12:13 +00:00
Thiago de Arruda
4600b9c035 Add unit test running to travis again 2014-02-27 18:51:53 -03:00
John Szakmeister
ba7e4f0c0c Compile libuv with -fPIC.
This is needed so that th unit tests library compiles on 64-bit machines
correctly.
2014-02-27 18:50:06 -03:00
Thiago de Arruda
7637c2b664 Disable unit tests until fixed for travis 2014-02-27 18:37:57 -03:00
Thiago de Arruda
fd448123aa Add more example unit tests and run with travis 2014-02-27 18:31:45 -03:00
Thiago de Arruda
d04ca90f5c Add basic infrastructure for unit testing
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.
2014-02-27 17:55:10 -03:00
Thiago de Arruda
2c02f00b7c Enable stderr for test in travis
This is necessary to keep the build from 'erroring' since running the tests
with valgrind will take a long time
2014-02-26 22:42:10 -03:00
Thiago de Arruda
a2ce1df772 Modify travis configuration to install valgrind
This should fix previous build failures
2014-02-26 22:23:51 -03:00
Thiago de Arruda
a81d25e6e4 Remove -e option from travis shell script 2014-02-26 21:44:04 -03:00
Thiago de Arruda
c492c5e36d Fix travis script
It was broke because the ls command failed when no valgrind.* file were found
2014-02-26 21:38:21 -03:00
Thiago de Arruda
a97c1754ad Add test reporting to travis script 2014-02-26 21:33:39 -03:00
Thiago de Arruda
42a9654fae Enable valgrind when testing on travis
This will slow down testing but will detect pull requests that introduce memory
leaks.
2014-02-26 20:19:58 -03:00
Thiago de Arruda
baaf24acea Add valgrind suppression file 2014-02-26 16:21:20 -03:00
Thiago de Arruda
c002ffe2f3 Temporarily remove valgrind check in travis build 2014-02-26 15:57:27 -03:00
Thiago de Arruda
cb9a368445 Add configuration to help debug memory leaks 2014-02-26 15:48:26 -03:00
Thiago de Arruda
72c6523da5 Merge branch 'bundle-libuv' of github.com:rjw57/neovim into rjw57-bundle-libuv 2014-02-26 05:46:10 -03:00
ash-lshift
fffb8991fd silence tar when getting libuv 2014-02-25 09:11:16 +00:00
Theo Belaire
98f4c55e45 Silenced wget's progress bar
This way it won't show up in travis-ci like:

    0% [                                       ] 0           --.-K/s
    100%[======================================>] 371,453     --.-K/s
2014-02-25 09:06:15 +00:00
Theo Belaire
e7b0aa224a Added curl support and one test
Now it checks for the existance of curl after
failing to find wget.

Note that I ended up removing the quotes around $url
when referencing it in the call to wget, since urls can't have spaces
anyways, and the correct quoting was messy.

To test, I did

    rm -r .deps
    make clean
    make cmake
    make

And it worked.
2014-02-25 09:06:15 +00:00
Rich Wareham
d047b28ac1 get-libuv.sh: compile bundled libuv
Rename file to reflect new intent of script. Libuv is bundled into the
third-party directory. Modify the script to compile but not fetch libuv.
2014-02-24 10:09:07 +00:00
John Szakmeister
6241a49943 scripts/common.sh: remove a couple bashisms
This allows the scripts to work on systems that don't have /bin/bash as
/bin/sh--such as Debian.
2014-02-23 15:01:41 -05:00
Sean Long
87fdb40a03 First pass on getting build working on FreeBSD. 2014-02-22 16:25:20 -03:00
aph
63b571dfba fix build on OSX 2014-02-01 17:17:59 +00:00
Thiago de Arruda
6b0b466585 Automate libuv download and build 2014-02-01 11:20:02 -03:00