NAME
rcov - create a code coverage report for Ruby tests
SYNOPSIS
rcov [options] <script1.rb> [script2.rb] [-- --extra-options]
DESCRIPTION
rcov is a code coverage tool for Ruby. It creates code coverage reports
showing the unit test coverage of the target code.
rcov does "statement coverage", also referred to as "C0 coverage
analysis". It tests, if each line of the source code has been
executed.
rcov is typically used to find the areas of a program that have not
been sufficiently tested. It reports, what code has not been run by any
test cases.
It can easily be integrated into build processes (e.g. with rake or
rant) and creates the coverage reports in HTML or text format.
OPTIONS
-o, --output
Destination directory.
-I, --include PATHS
Prepend PATHS to $: (colon separated list)
--[no-]comments
Mark all comments by default. (default: --no-comments)
--test-unit-only
Only trace code executed inside TestCases.
--spec-only
Only trace code executed inside RSpec specs.
-n, --no-color
Create colorblind-safe output.
-i, --include-file PATTERNS
Generate info for files matching a pattern (comma-separated
regexp list)
-x, --exclude PATTERN
Don’t generate info for files matching a pattern (comma-
separated regexp list)
--exclude-only PATTERNS
Skip info only for files matching the given patterns.
--rails
Skip config/, environment/ and vendor/.
--[no-]callsites
Show callsites in generated XHTML report. (somewhat slower;
disabled by default)
--[no-]xrefs
Generate fully cross-referenced report. (includes --callsites)
-p, --profile
Generate bogo-profiling info.
-r, --range RANGE
Color scale range for profiling info (dB).
-a, --annotate
Generate annotated source code.
-T, --text-report
Dump detailed plain-text report to stdout. (filename, LoC, total
lines, coverage)
-t, --text-summary
Dump plain-text summary to stdout.
--text-counts
Dump execution counts in plaintext.
--text-coverage
Dump coverage info to stdout, using ANSI color sequences unless
-n.
--gcc Dump uncovered line in GCC error format.
--aggregate FILE
Aggregate data from previous runs in FILE. Overwrites FILE with
the merged data. FILE is created if necessary.
-D, --text-coverage-diff [FILE]
Compare code coverage with saved state in FILE, defaults to
coverage.info. Implies --comments.
--save [FILE]
Save coverage data to FILE, for later use with rcov -D.
(default: coverage.info)
--[no-]html
Generate HTML output. (default: --html)
--css relative/path/to/custom.css
Use a custom CSS file for HTML output. Specified as a relative
path.
--sort CRITERION
Sort files in the output by the specified field (name, loc,
coverage)
--sort-reverse
Reverse files in the output.
--threshold INT
Only list files with coverage < INT %. (default: 101)
--failure-threshold [INT]
Fail if the coverage is below the threshold (default: 100)
--charset CHARSET
Charset used in Content-Type declaration of HTML reports.
--only-uncovered
Same as --threshold 100
--replace-progname
Replace $0 when loading the .rb files.
-w Turn warnings on (like ruby).
--no-rcovrt
Do not use the optimized C runtime. (will run 30-300 times
slower)
--diff-cmd PROGNAME
Use PROGNAME for --text-coverage-diff. (default: diff)
-h, --help
Show extended help message
--report-cov-bug SELECTOR
Report coverage analysis bug for the method specified by
SELECTOR (format: Foo::Bar#method, A::B.method)
--version
Show version
EXAMPLES
To simply run rcov on all ruby files in the current directory and
create a HTML coverage report in ./coverage:
rcov *.rb
To run the tests in ./tests, include ./lib, only take care of code
executed from TestCases and output a summary to STDOUT:
rcov --test-unit-only -t -I./lib ./tests/*.rb
SEE ALSO
runit(1), rake(1), rant(1)
http://github.com/relevance/rcov
Full Documentation about the integration into other tools is available
in /usr/share/doc/rcov/README.*
AUTHOR
The manpage is provided by Micah Anderson <micah@debian.org> as part of
the Debian’s rcov package. Upstream author of rcov is Mauricio
Fernandez <mfp@acm.org>.
All the option descriptions have mainly be taken from the help output
of rcov.