summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsigiesec <simon.giesecke@btc-ag.com>2017-09-21 14:04:01 +0200
committerAlan Antonuk <alan.antonuk@gmail.com>2017-10-30 23:37:47 -0700
commitdc82b1be4391341786d5027882fa7762befb6b02 (patch)
treebbbfd747a3bf267146b7f63d2d825db5868994cc
parentd4f59af61719cded7e1a50fb8419b0517bc44162 (diff)
downloadrabbitmq-c-dc82b1be4391341786d5027882fa7762befb6b02.tar.gz
ci: Add coverage build to travis
This builds rabbitmq-c with coverage enabled, and runs the tests, uploading the results to coveralls.io.
-rw-r--r--.travis.yml6
-rw-r--r--tests/CMakeLists.txt6
-rwxr-xr-xtravis.sh12
3 files changed, 23 insertions, 1 deletions
diff --git a/.travis.yml b/.travis.yml
index 1e9396f..424fe97 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -13,6 +13,9 @@ env:
# via the "travis encrypt" command using the project repo's public key
- secure: "gDwqo3jHj+HHGzFKnxL/nwZhbVeh2pItw0TbeaHcLtWubUZaf85ViEQRaXPyfnbG7l0OEQq+PjyhKAfvViVq2NP0lGeeu4VM5uMZJhsCLN594BJr39Y4XzOapg0O8mEMhQ0DU2u1Zo4LMgEcRz67aosVQOj6QV30tOzp9fnxn9U="
+services:
+ - rabbitmq
+
matrix:
include:
# Note that the first compiler in the matrix must be gcc, so that the
@@ -20,6 +23,9 @@ matrix:
- compiler: gcc
os: linux
env: CONFIG=cmake
+ - compiler: gcc
+ os: linux
+ env: CONFIG=coverage
- compiler: clang
os: linux
env: CONFIG=cmake
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index db572af..4d0ca04 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -33,7 +33,10 @@ add_test(status_enum test_status_enum)
add_executable(test_basic
test_basic.c)
target_link_libraries(test_basic rabbitmq-static)
-add_test(basic test_basic)
+
+if (NOT APPLE)
+ add_test(basic test_basic)
+endif()
add_executable(test_sasl_mechanism test_sasl_mechanism.c)
target_link_libraries(test_sasl_mechanism rabbitmq-static)
@@ -42,3 +45,4 @@ add_test(sasl_mechanism test_sasl_mechanism)
add_executable(test_merge_capabilities test_merge_capabilities.c)
target_link_libraries(test_merge_capabilities rabbitmq-static)
add_test(merge_capabilities test_merge_capabilities)
+
diff --git a/travis.sh b/travis.sh
index 8a63cca..3edd6d5 100755
--- a/travis.sh
+++ b/travis.sh
@@ -8,6 +8,18 @@ build_cmake() {
ctest -V .
}
+build_coverage() {
+ mkdir $PWD/_build && cd $PWD/_build
+ cmake .. -DCMAKE_BUILD_TYPE=Coverage -DCMAKE_INSTALL_PREFIX=$PWD/../_install \
+ -DCMAKE_C_FLAGS="-Werror -fprofile-arcs -ftest-coverage" \
+ ${_CMAKE_OPENSSL_FLAG}
+ cmake --build . --target install
+ ctest -V .
+
+ pip install --user cpp-coveralls
+ coveralls --exclude tests --build-root . --root .. --gcov-options '\-lp'
+}
+
build_asan() {
mkdir $PWD/_build && cd $PWD/_build
cmake .. -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=$PWD/../_install \