.travis.yml 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. language: C
  2. matrix:
  3. include:
  4. - os: linux
  5. - os: osx
  6. # Specify version to avoid bug (https://github.com/travis-ci/travis-ci/issues/6522)
  7. osx_image: xcode9.3
  8. sudo: required
  9. install:
  10. - |
  11. # Install lcov only on linux
  12. if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
  13. sudo apt-get install -y lcov
  14. # Install coveralls uploader
  15. gem install coveralls-lcov
  16. fi
  17. # Build main and tests
  18. script:
  19. - |
  20. cd ${TRAVIS_BUILD_DIR}
  21. mkdir -p build
  22. cd build
  23. cmake --warn-uninitialized -DUNITTESTS=ON -DCOVERAGE=ON ..
  24. make
  25. out/qdldl_tester
  26. # Pefrorm code coverage (only in Linux case)
  27. after_success:
  28. - |
  29. cd ${TRAVIS_BUILD_DIR}
  30. if [[ $TRAVIS_OS_NAME == "linux" ]]; then
  31. cd ${TRAVIS_BUILD_DIR}/build
  32. lcov --directory . --capture -o coverage.info # capture coverage info
  33. lcov --remove coverage.info \
  34. "${TRAVIS_BUILD_DIR}/tests/*" \
  35. "${TRAVIS_BUILD_DIR}/examples/*" \
  36. "/usr/include/x86_64-linux-gnu/bits/*" \
  37. -o coverage.info # filter out tests and unnecessary files
  38. lcov --list coverage.info # debug before upload
  39. coveralls-lcov coverage.info # uploads to coveralls
  40. fi