Bashcov is a code coverage analysis tool for Bash.
In most cases, you'll want overall coverage results for your project fromshUnit2,Bats,bash_unit,assert.sh,bashaspec,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 SimpleCovby 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