forked from jsiloto/jsonrpc-lean
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.travis.yml
81 lines (72 loc) · 2.15 KB
/
.travis.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
# Use new trusty images, should yield newer compilers and packages
sudo: required
dist: precise
language: generic
matrix:
include:
- os: linux
env: COMPILER_NAME=gcc CXX=g++-5 CC=gcc-5
addons:
apt:
packages:
- g++-5
sources: &sources
- llvm-toolchain-precise-3.8
- ubuntu-toolchain-r-test
before_install:
- sudo add-apt-repository ppa:gcovr-team/ppa -y
- sudo apt-get -qq update
- sudo apt-get install gcovr
- sudo apt-get install -y libgtest-dev
- sudo wget https://github.com/google/googletest/archive/release-1.8.0.tar.gz
- sudo tar xf release-1.8.0.tar.gz
- cd googletest-release-1.8.0
- sudo cmake -DBUILD_SHARED_LIBS=ON .
- sudo make
- cd googletest
- sudo cp -a include/gtest /usr/include
- cd ../googlemock
- sudo cp -a include/gmock /usr/include
- sudo cp -a libgmock_main.so libgmock.so /usr/lib/
- cd gtest
- sudo cp -a libgtest_main.so libgtest.so /usr/lib/
- cd "${TRAVIS_BUILD_DIR}"
- pip install --user cpp-coveralls
- shopt -s extglob
- sudo ln -sf /usr/bin/gcov-5 /usr/bin/gcov
install:
- cd ${TRAVIS_BUILD_DIR}
# install latest LCOV (1.9 was failing for me) [1]
- wget http://ftp.de.debian.org/debian/pool/main/l/lcov/lcov_1.11.orig.tar.gz
- tar xf lcov_1.11.orig.tar.gz
- sudo make -C lcov-1.11/ install
# install lcov to coveralls conversion + upload tool
- gem install coveralls-lcov
before_script:
- cd ${TRAVIS_BUILD_DIR}
- lcov --directory . --zerocounters
- pwd
- chmod +x autogen.sh
- gcov -v
- lcov -v
script:
- cd "${TRAVIS_BUILD_DIR}"
- lcov --zerocounters --directory .
- lcov --capture --initial --directory . --output-file coverage.info
- ./autogen.sh --with-unittest
- make check
- ls -Rla | grep gc
after_success:
- cd ${TRAVIS_BUILD_DIR}
- lcov --no-checksum --directory . --capture --output-file coverage.info
- lcov --remove coverage.info '*.cpp' '*.hpp' '*/test/*' '*/usr/*' -o coverage.info
- lcov --list coverage.info # debug before upload
- coveralls-lcov --repo-token ${COVERALLS_TOKEN} coverage.info # uploads to coveralls
branches:
only:
- master
notifications:
recipients:
email:
false