diff options
author | sigiesec <simon.giesecke@btc-ag.com> | 2017-09-21 14:04:01 +0200 |
---|---|---|
committer | Alan Antonuk <alan.antonuk@gmail.com> | 2017-10-30 23:37:47 -0700 |
commit | dc82b1be4391341786d5027882fa7762befb6b02 (patch) | |
tree | bbbfd747a3bf267146b7f63d2d825db5868994cc | |
parent | d4f59af61719cded7e1a50fb8419b0517bc44162 (diff) | |
download | rabbitmq-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.yml | 6 | ||||
-rw-r--r-- | tests/CMakeLists.txt | 6 | ||||
-rwxr-xr-x | travis.sh | 12 |
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) + @@ -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 \ |