All Projects → SimonKagstrom → Kcov

SimonKagstrom / Kcov

Licence: other
Code coverage tool for compiled programs, Python and Bash which uses debugging information to collect and report data without special compilation options

Projects that are alternatives of or similar to Kcov

Covr
Test coverage reports for R
Stars: ✭ 285 (-44.66%)
Mutual labels:  travis-ci, coverage, codecov
travis-ci-tutorial-java
Just to learn how to use travis-ci in a java project!
Stars: ✭ 38 (-92.62%)
Mutual labels:  coverage, travis-ci, codecov
phpunit-travis-ci-coverage-example
phpUnit Testing on Travis-CI with Code Coverage on CodeCov
Stars: ✭ 30 (-94.17%)
Mutual labels:  coverage, travis-ci, codecov
CPP Template
C++ project template : CMake, Test, Travis CI, Appveyor, CodeCoverage, Doxygen
Stars: ✭ 32 (-93.79%)
Mutual labels:  coverage, travis-ci, codecov
ts-node-starter
GitHub template to get started with Node.js & TypeScript. ⚡
Stars: ✭ 28 (-94.56%)
Mutual labels:  coverage, codecov
react-testing-mocha-chai-enzyme
A solid test setup for React components with Mocha, Chai, Sinon, Enzyme in a Webpack/Babel application.
Stars: ✭ 48 (-90.68%)
Mutual labels:  coverage, travis-ci
enterprise
Code coverage done right.® On-premise enterprise version.
Stars: ✭ 63 (-87.77%)
Mutual labels:  coverage, codecov
cpp14-project-template
A simple, cross-platform, and continuously integrated C++14 project template
Stars: ✭ 64 (-87.57%)
Mutual labels:  travis-ci, codecov
SpringBootRestAPI
A ready-to-use Template for Rest API using spring-boot-microservices, MongoDB as Database, Integrated with codecov and sonarqube, deployable to cloud.
Stars: ✭ 24 (-95.34%)
Mutual labels:  travis-ci, codecov
instrumentation
Assorted pintools
Stars: ✭ 24 (-95.34%)
Mutual labels:  coverage, instrumentation
Cpp Project
Boiler plate template for C++ projects, with CMake, Doctest, Travis CI, Appveyor, Github Actions and coverage reports.
Stars: ✭ 328 (-36.31%)
Mutual labels:  travis-ci, codecov
Learn Istanbul
🏁 Learn how to use the Istanbul JavaScript Code Coverage Tool
Stars: ✭ 332 (-35.53%)
Mutual labels:  coverage, codecov
example-objc
Codecov example for Xcode
Stars: ✭ 24 (-95.34%)
Mutual labels:  coverage, codecov
gocoverutil
No description or website provided.
Stars: ✭ 25 (-95.15%)
Mutual labels:  coverage, codecov
floss
Unit-testing for those hard to reach places
Stars: ✭ 26 (-94.95%)
Mutual labels:  coverage, travis-ci
Ios Project Template
iOS project template with fastlane lanes, Travis CI jobs and GitHub integrations of Codecov, HoundCI for SwiftLint and Danger
Stars: ✭ 358 (-30.49%)
Mutual labels:  travis-ci, codecov
Jacoco
🔬 Java Code Coverage Library
Stars: ✭ 3,041 (+490.49%)
Mutual labels:  instrumentation, coverage
solcover
Code coverage for solidity
Stars: ✭ 64 (-87.57%)
Mutual labels:  coverage, instrumentation
Codecov Node
Global coverage report uploader for Codecov in NodeJS
Stars: ✭ 268 (-47.96%)
Mutual labels:  coverage, codecov
Hexagon
Hexagon is a microservices toolkit written in Kotlin. Its purpose is to ease the building of services (Web applications, APIs or queue consumers) that run inside a cloud platform.
Stars: ✭ 336 (-34.76%)
Mutual labels:  travis-ci, codecov

Build Status Coveralls coverage status Codecov coverage status Coverity Scan Build Status Docker Build Status MicroBadger Size Docker Pulls

PayPal Donate Github All Releases

kcov

Kcov is a FreeBSD/Linux/OSX code coverage tester for compiled languages, Python and Bash. Kcov was originally a fork of Bcov, but has since evolved to support a large feature set in addition to that of Bcov.

Kcov, like Bcov, uses DWARF debugging information for compiled programs to make it possible to collect coverage information without special compiler switches.

For a video introduction, look at this presentation from SwedenCPP

Installing

Refer to the INSTALL file for build instructions, or use our official Docker images:

Note:

Tags v31-v33 are re-tags of ragnaroek/kcov which were not automated builds.

Tags v34-v35 are non automated builds using the Dockerfile in master with 1 minor modification.

Tag v36 is a non automated build using the Dockerfile in master.

How to use it

Basic usage is straight-forward:

kcov /path/to/outdir executable [args for the executable]

/path/to/outdir will contain lcov-style HTML output generated continuously while the application runs. Kcov will also write cobertura- compatible XML output and can upload coverage data directly to http://coveralls.io for easy integration with travis-ci. A generic coverage.json report is also generated which contains summaries for a given binary and each source file.

Filtering output

It's often useful to filter output, since e.g., /usr/include is seldom of interest. This can be done in two ways:

kcov --exclude-pattern=/usr/include --include-pattern=part/of/path,other/path \
      /path/to/outdir executable

which will do a string-comparison and include everything which contains part/of/path or other/path but exclude everything that has the /usr/include string in it.

kcov --include-path=/my/src/path /path/to/outdir executable
kcov --exclude-path=/usr/include /path/to/outdir executable

Does the same thing, but with proper path lookups.

Merging multiple kcov runs

Kcov can also merge the results of multiple earlier runs. To use this mode, call kcov with --merge, an output path and one or more paths to an earlier run, e.g.,

kcov --merge /tmp/merged-output /tmp/kcov-output1 /tmp/kcov-output2
kcov --merge /tmp/merged-output /tmp/kcov-output*    # With a wildcard

Use from continuous integration systems

kcov is easy to integrate with travis-ci together with coveralls.io or codecov.io. It can also be used from Jenkins, SonarQube and GitLab CI. Refer to

  • coveralls for details about travis-ci + coveralls, or
  • codecov for details about travis-ci + codecov
  • jenkins for details about how to integrate in Jenkins
  • sonarqube for how to use kcov and sonarqube together
  • gitlab for use with GitLab

Full-system instrumentation

Kcov can instrument all binaries with very low overhead for embedded systems. Refer to the full system instrumentation documentation for details.

More information

kcov is written by Simon Kagstrom [email protected] and more information can be found at the web page

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].