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, 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.
gem install bashcov
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.
Bug reports and patches are most welcome. See the contribution guidelines.