tarpaulin - A code coverage tool for Rust projects

  •        9

Tarpaulin is designed to be a code coverage reporting tool for the Cargo build system, named for a waterproof cloth used to cover cargo on a ship. Currently, tarpaulin provides working line coverage but is still in the early development stage and therefore may contain some bugs. A lot of work has been done to get it working on some example projects and smaller crates so please report anything you find that's wrong. Also, check out our roadmap for planned features. Tarpaulin only supports x86_64 processors running Linux. This is because instrumenting breakpoints into executables and tracing their execution requires processor and OS specific code. It is a goal when greater stability is reached to add wider system support, however this is sufficient to run Tarpaulin on popular CI tools like Travis.




Related Projects

simplecov - Code coverage for Ruby 1

  •    Ruby

SimpleCov is a code coverage analysis tool for Ruby. It uses Ruby's built-in Coverage library to gather code coverage data, but makes processing its results much easier by providing a clean API to filter, group, merge, format, and display those results, giving you a complete code coverage suite that can be set up with just a couple lines of code. In most cases, you'll want overall coverage results for your projects, including all types of tests, Cucumber features, etc. SimpleCov automatically takes care of this by caching and merging results when generating reports, so your report actually includes coverage across your test suites and thereby gives you a better picture of blank spots.

flow-coverage-report - Generate flow coverage reports in JSON, HTML and in the console.

  •    Javascript

flow-coverage-report is a node command line tool to help projects which are using flow types in their JavaScript code to keep track and visualize the coverage of the flow types checks.

xcov - Nice code coverage reporting without hassle

  •    Ruby

xcov is a friendly visualizer for Xcode's code coverage files. You can easily ignore the coverage for a specified set of files by adding their filenames to the ignore file specified with the --ignore_file_path parameter (this file is .xcovignore by default). You can also specify a wildcard expression for matching a group of files.

xcov - Nice code coverage reporting without hassle

  •    Ruby

xcov is a friendly visualizer for Xcode's code coverage files. You can easily ignore the coverage for a specified set of files by adding their filenames to the ignore file specified with the --ignore_file_path parameter (this file is .xcovignore by default). You can also specify a wildcard expression for matching a group of files.

EMMA Java code coverage tool

  •    Java

EMMA is an open-source toolkit for measuring and reporting Java code coverage. EMMA can instrument classes for coverage either offline (before they are loaded) or on the fly (using an instrumenting application classloader). The coverage stats are aggregated at method, class, package, and "all classes" levels. EMMA can instrument individial class files or entire jars.

node-coveralls - lcov posting to coveralls.io

  •    Javascript

Coveralls.io support for node.js. Get the great coverage reporting of coveralls.io and add a cool coverage button ( like the one above ) to your README. This script ( bin/coveralls.js ) can take standard input from any tool that emits the lcov data format (including mocha's LCov reporter) and send it to coveralls.io to report your code coverage there.

excoveralls - Coverage report tool for Elixir with coveralls.io integration.

  •    Elixir

An Elixir library that reports test coverage statistics, with the option to post to coveralls.io service. It uses Erlang's cover to generate coverage information, and posts the test coverage results to coveralls.io through the json API. The following are example projects.


  •    C++

bcov is a code coverage tool similar to gcov. Unlike gcov, it does not require recompiling the project for coverage. Coverage is determined by using temporary breakpoints, which causes minimal overhead. gcov produces a lcov style coverge report.

cargo-watch - Watches over your Cargo project's source

  •    Rust

Cargo Watch watches over your project's source for changes, and runs Cargo commands when they occur. If you've used nodemon, gulp, guard, watchman, or similar others, it will probably feel familiar.


  •    C

Covered is a Verilog code coverage utility using VCD/LXT/FST dumpfiles (or VPI interface) and the design to generate line, toggle, memory, combinational logic, FSM state/arc and assertion coverage report metrics viewable via GUI or ASCII format.

BizTalk Server 2006 Orchestration Profiler


Creates CHM report files illustrating the level of coverage for specified BizTalk orchestrations. This tool can be run to gain a consolidated view of orchestration tracking data for a specified period of time to help developers get an idea of how their orchestrations are being...

go-spew - Implements a deep pretty printer for Go data structures to aid in debugging

  •    Go

Go-spew implements a deep pretty printer for Go data structures to aid in debugging. A comprehensive suite of tests with 100% test coverage is provided to ensure proper functionality. See test_coverage.txt for the gocov coverage report. Go-spew is licensed under the liberal ISC license, so it may be used in open source or commercial projects.If you're interested in reading about how this package came to life and some of the challenges involved in providing a deep pretty printer, there is a blog post about it here.

ForestDB - A Fast Key-Value Storage Engine Based on Hierarchical B+-Tree Trie

  •    C++

ForestDB is a key-value storage engine developed by Couchbase Caching and Storage Team, and its main index structure is built from Hierarchical B+-Tree based Trie, called HB+-Trie. ForestDB paper has been published in IEEE Transactions on Computers.

Panopticode - Gathers, Correlats, and displays code metrics

  •    Java

The Panopticode project provides a set of open source tools for gathering, correlating, and displaying code metrics. It evaluates software quality and ensures coding standards. It installs and configures set of tools like Emma or Cobertura for unit test code coverage, Checkstyle to validate the coding standards, JDepend to check the dependency, JavaNCSS for Cyclomatic Complexity metrics.

coverband - Rack middleware to help measure production code line of code usage

  •    Ruby

A gem to measure production code usage, showing each line of code that is executed. Coverband allows easy configuration to collect and report on production code usage. It can be used as Rack middleware, wrapping a block with sampling, or manually configured to meet any need (like usage during background jobs). I like to think of this as production code coverage, but that implies test coverage to some folks, so being more explicit to say that it shows when a line of code is executed in a given environment is the most accurate way to describe it. Notes: Latest versions of Coverband drop support for anything less than Ruby 2.0, and Ruby 2.1+ is recommended.

Java JVMDI Coverage Tool

  •    Java

Utilises the JVMDI (Java Debug API) to produce line coverage reports detailing which lines of code have been executed during a test. Report is produced in XML and may be post-processed via XSLT into a prettier one.

gogradle - A Gradle Plugin Providing Full Support for Go

  •    Groovy

Gogradle is a gradle plugin which provides support for building golang. 2017-06-23 Gogradle is awarded Gradle Plugin of the Year 2017. See the talk on Gradle Summit 2017.

cargo-fuzz - Command line helpers for fuzzing

  •    Rust

Note: libFuzzer needs LLVM sanitizer support, so this is only works on x86-64 Linux and x86-64 macOS for now. This also needs a nightly since it uses some unstable command-line flags. You'll also need a C++ compiler with C++11 support. This crate is currently under some churn -- in case stuff isn't working, please reinstall it (cargo install cargo-fuzz -f). Rerunning cargo fuzz init after moving your fuzz folder and updating this crate may get you a better generated fuzz/Cargo.toml. Expect this to settle down soon.

digdag - Workload Automation System

  •    Java

Please check digdag.io for installation & user manual. Test coverage report is generated at didgag-*/build/reports/jacoco/test/html/index.html. Findbugs report is generated at digdag-*/build/reports/findbugs/main.html.

cargo-edit - A utility for managing cargo dependencies from the command line.

  •    Rust

This tool extends Cargo to allow you to add, remove, and upgrade dependencies by modifying your Cargo.toml file from the command line. Thanks for your interest - we gratefully welcome contributions.