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, assert.sh, 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 ./script.sh
bashcov --skip-uncovered ./script.sh
bashcov -- ./script.sh --some --flags
bashcov --skip-uncovered -- ./script.sh --some --flags
./script.sh
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.
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.
MIT