bashcov / master

Tree @master (Download .tar.gz) @masterview markup · raw · history · blame


Gem Version Build Status Coverage Status Maintainability Inline docs

Bashcov is a code coverage analysis tool for Bash.

In most cases, you'll want overall coverage results for your project from shUnit2, Bats, bash_unit,, etc. Bashcov automatically takes care of this by caching and merging results when generating reports, so your report includes coverage across your test suites and thereby gives you a better picture of blank spots.

It uses the SimpleCov coverage library to generate HTML reports. SimpleCov gets installed automatically when you install Bashcov.

Here are example coverages generated by Bashcov: test app demo & RVM demo.


gem install bashcov

If the gem command is unavailable, you need to install Ruby first.


bashcov --help prints all available options. Here are some examples:

bashcov ./
bashcov --skip-uncovered ./
bashcov -- ./ --some --flags
bashcov --skip-uncovered -- ./ --some --flags

./ can be a mere Bash script or typically your CI script. Bashcov will keep track of all executed scripts.

It will create a directory named ./coverage/, you may open ./coverage/index.html to browse the coverage report.

SimpleCov integration

You can leverage the underlying library SimpleCov by adding a .simplecov file in your project's root, like this. See advanced usage for more information.


Bug reports and patches are most welcome. See the contribution guidelines.