Travis CI: Report test coverage for Linux/x64 (single-obj-compilation)
authorIvan Maidanski <ivmai@mail.ru>
Wed, 1 Feb 2017 17:33:27 +0000 (20:33 +0300)
committerIvan Maidanski <ivmai@mail.ru>
Wed, 1 Feb 2017 18:42:24 +0000 (21:42 +0300)
.travis.yml

index a8e208e..59be73b 100644 (file)
@@ -11,11 +11,16 @@ compiler:
 env:
   - CFLAGS_EXTRA_M=
   - CFLAGS_EXTRA_M=-m32
+  - CONF_GCOV=--enable-gcov
+    CONF_SHARED=--disable-shared
+    CONF_SINGLE_OBJ=--enable-single-obj-compilation
 
 matrix:
   exclude:
   - os: osx
     compiler: gcc
+  - compiler: clang
+    env: CONF_GCOV=--enable-gcov
 
 sudo: required
 
@@ -25,11 +30,23 @@ before_install:
     else
       CONF_CPP=--enable-cplusplus;
     fi
+  - if [[ "$CONF_GCOV" == --en* ]]; then
+      sudo apt-get install lcov;
+      gem install coveralls-lcov;
+    fi
 
 install:
   - git clone --depth=50 https://github.com/ivmai/libatomic_ops.git
   - ./autogen.sh
 
 script:
-  - ./configure $CONF_CPP --enable-gc-debug --enable-munmap --enable-werror
+  - ./configure $CONF_CPP --enable-gc-debug $CONF_GCOV --enable-munmap $CONF_SHARED $CONF_SINGLE_OBJ --enable-werror
   - make -j check CFLAGS_EXTRA="$CFLAGS_EXTRA_M"
+
+after_success:
+  - if [[ "$CONF_GCOV" == --en* ]]; then
+      lcov --capture --directory . --no-external --output-file coverage.info;
+      lcov --remove coverage.info 'cord/tests/*' 'libatomic_ops/*' 'tests/*' --output-file coverage.info;
+      lcov --list coverage.info;
+      coveralls-lcov --repo-token ${COVERALLS_TOKEN} coverage.info;
+    fi