diff --git a/.travis.mk b/.travis.mk index 9a98991120ffa866c2a788c9ebe3e79249ea6025..eb3d688f15df365f88c21245a9144d8ffbbbdc3f 100644 --- a/.travis.mk +++ b/.travis.mk @@ -41,3 +41,20 @@ test_osx: deps_osx ulimit -n make -j8 cd test && python test-run.py unit/ app/ app-tap/ box/ box-tap/ + +coverage: deps_linux + sudo apt-get -q -y install lcov + cmake . -DCMAKE_BUILD_TYPE=Debug -DENABLE_GCOV=ON + make -j8 + # Enable --long tests for coverage + cd test && /usr/bin/python test-run.py --long + lcov --compat-libtool --directory src/ --capture --output-file coverage.info.tmp + lcov --compat-libtool --remove coverage.info.tmp 'tests/*' 'third_party/*' '/usr/*' \ + --output-file coverage.info + lcov --list coverage.info + @if [ -n "$(COVERALLS_TOKEN)" ]; then \ + echo "Exporting code coverage information to coveralls.io"; \ + gem install coveralls-lcov; \ + echo coveralls-lcov --repo-token [FILTERED] coverage.info; \ + coveralls-lcov -v --repo-token $(COVERALLS_TOKEN) coverage.info; \ + fi; diff --git a/.travis.yml b/.travis.yml index 8752ea1e4bbf318698d85b65afb2cbc1821a9b08..30e5548d3e330c70f8b34efe2316f998df7731be 100644 --- a/.travis.yml +++ b/.travis.yml @@ -24,6 +24,7 @@ env: matrix: - TARGET=source - TARGET=test + - TARGET=coverage - OS=el DIST=6 - OS=el DIST=7 - OS=fedora DIST=24 @@ -38,6 +39,7 @@ env: matrix: allow_failures: + - TARGET=coverage # - env: OS=el DIST=6 # - env: OS=el DIST=7 # - env: OS=fedora DIST=24 @@ -74,6 +76,8 @@ matrix: compiler: clang - env: TARGET=source compiler: clang + - env: TARGET=coverage + compiler: clang - env: OS=el DIST=6 os: osx - env: OS=el DIST=7 @@ -98,6 +102,8 @@ matrix: os: osx - env: TARGET=source os: osx + - env: TARGET=coverage + os: osx - os: osx compiler: gcc