Help language development. Donate to The Perl Foundation

App::RaCoCo cpan:ATROXAPER last updated on 2021-10-21


Ubuntu MacOS Windows
badge badge badge


App::RaCoCo - Raku Code Coverage tool.


> racoco
All tests successful.
Files=16, Tests=114,  6 wallclock secs
Result: PASS
Coverage: 89.2%

> racoco --html --silent
Visualisation: file://.racoco/report.html
Coverage: 89.2%
> browsername .racoco/report.html

> racoco --exec='prove6 -Ilib' --fail-level=95 --silent
Coverage: 89.2%
# exit code: 6

> racoco
Library path 「lib/.precomp」 has ambiguous .precomp directory with more than one
CompUnit Repository. Please, make sure you have only the one directory in
the <library>/.precomp path or use --fix-compunit flag for the next RaCoCo launch
to erase .precomp directory automatically.
> racoco --fix-compunit
Coverage: 89.2%


App::RaCoCo provides the racoco application, which can be used to run tests and calculate code coverage.

You may specify the following parameters: * --lib - path to directory with target source files ('./lib' by default); * --raku-bin-dir - path to directory with raku and moar binaries ($*EXECUTABLE.parent by default); * --exec - command, which need to be executed to run tests. For example, you may pass 'prove --exec raku' to the exec parameter to say prove to manage your tests, or use --/exec parameter to not run tests and use coverage data from the previous run (prove6 by default); * --fail-level - integer number - if coverage will be less than it then racoco will exit with non-zero exitcode; * --silent - hide test result output; * --append - do not clean coverage data before this racoco run and append its result to the previous one; * --html - produce simple html page to visualize results; * --color-blind - addition to --html parameter - use more readable colors than green/red pare; * --fix-compunit - erase <library>/.precomp directory before run tests. See details below.



RaCoCo application works only with MoarVM backended Raku compiler.


Mikhail Khorkov [email protected]

Source can be located at: github. Comments and Pull Requests are welcome.


Copyright 2021 Mikhail Khorkov

This library is free software; you can redistribute it and/or modify it under the Artistic License 2.0.