The goal of this project is to build project with following tools: * C++ version:
C++11* Build system:
CMake* C++ compiler:
g++or Visual Studio * Libraries:
STLonly * Code coverage report:
lcovand
OpenCppCoverage(note: it should show the code coverage is below 100%) *
CodeCov(code coverage is measured by CodeCov). * Source: multiple files
Goes to Richel Bilderbeek for inspiration and all work on Travis CI tutorials. Here is a link to a project with the same structure (without
lcov), and here is a list of all his Travis configuration examples.
To build the project you need to install
CMake. (Install instructions) To display a code coverage report in the console, install
lcov. (
Download lcov,
Instructions)
lcov.
Add to your
.travis.ymlfile: ```yml addons: apt: packages: lcov
after_success:
By default the bash uploader processes the coverage data using gcov when no file is supplied.
yml after_success: - bashCaveats
Private Repos
Add to your
.travis.ymlfile:yml after_success: - bashExample details
This repo can serve as the starting point for a new project. The following is worth noticing: 1. Use of a build script instead of putting the commands into
.travis.yml- Allows local testing - Allows usage ofset -eto error out with meaningfull messages on any command failure 2. Separate testing source tree - Allows to easily enable/disable testing - Allows usage in parent projects (you don't want to build the tests if you are consumed) - You may want to exclude coverage of test files which is easier when they are in a separate folder. Remember to use full paths for patterns (like'*/tests/*') 3. Use of travis cache to cache manually build 3rd-party dependencies (like boost) - Speeds up build - More can be added (e.g.ccache) - Those need to be excluded from coverage info tooAuthors
This project is licensed under the MIT License - see the LICENSE file for details.
codecov.ymlhttps://docs.codecov.io/docs/codecov-yaml
We are happy to help if you have any questions. Please email our Support at [email protected]