sudo: true
dist: trusty
language: rust
addons:
apt:
sources:
- sourceline: 'ppa:pinepain/libv8-5.4'
- ubuntu-toolchain-r-test
packages:
- gcc-6
- g++-6
- libv8-5.4-dev
- libicu-dev
- libcurl4-openssl-dev
- libelf-dev
- libdw-dev
- binutils-dev
env:
global:
- CC=gcc-6
- CXX=g++-6
matrix:
include:
- env: FEATURES=""
- env: FEATURES="--features=shared"
before_script:
- |
pip install 'travis-cargo<0.2' --user &&
export PATH=$HOME/.local/bin:$PATH
script:
- |
travis-cargo build -- $FEATURES &&
travis-cargo test -- $FEATURES &&
travis-cargo bench -- $FEATURES
after_success:
- |
if [ -z "$FEATURES" ]; then travis-cargo doc; travis-cargo doc-upload; fi
wget https://github.com/SimonKagstrom/kcov/archive/master.tar.gz &&
tar xzf master.tar.gz &&
cd kcov-master &&
mkdir build &&
cd build &&
cmake .. &&
make &&
sudo make install &&
cd ../.. &&
rm -rf kcov-master &&
cargo test $FEATURES --no-run &&
for file in target/debug/v8-*
do
kcov --exclude-pattern=/.cargo,/usr/lib --verify "target/cov" "$file"
done &&
bash <(curl -s https://codecov.io/bash) &&
echo "Uploaded code coverage"