NAME¶
cover - report coverage statistics
VERSION¶
version 1.17
SYNOPSIS¶
cover -test
cover -report html_basic
DESCRIPTION¶
Report coverage statistics in a variety of formats.
The summary option produces a short textual summary. Other reports are available
by using the report option.
The following reports are currently available:
text - detailed textual summary
html - detailed HTML reports
html_basic - detailed HTML reports with syntax highlighting
compilation - output in a format similar to Perl
json - output in a JSON
vim - show coverage information in vim gutter
OPTIONS¶
The following command line options are supported:
-h -help - show help
-i -info - show documentation
-v -version - show version
-silent - don't print informational messages (default off)
-summary - give summary report (default on)
-report report_format - report format (default html)
-outputdir dir - directory for output (default given db)
-launch - launch report in viewer (if avail) (default off)
-select filename - only report on the file (default all)
-ignore filename - don't report on the file (default none)
-select_re RE - append to REs of files to select (default none)
-ignore_re RE - append to REs of files to ignore (default none)
-write [db] - write the merged database (default off)
-delete - drop database(s) (default off)
-dump_db - dump database(s) (for debugging) (default off)
-coverage criterion - report on criterion (default all available)
-test - drop database(s) and run make test (default off)
-gcov - run gcov to cover XS code (default on if using gcc)
-make make_prog - use the given 'make' program for 'make test'
-add_uncoverable_point string
-delete_uncoverable_point string
-clean_uncoverable_points
-uncoverable_file file
other options specific to the report format
coverage_database [coverage_database ...]
Tool accepts -report option:
- html|html_minimal (default)
- HTML reporting. Percentage thresholds are color-coded and configurable via
-report_c0 <integer>, -report_c1 <integer> and -report_c2
<integer>.:
0% 75% 90% 100%
| .. | .. | .. |
<c0 <c1 <c2 c3
red yellow orange green
- html_basic
- HTML reporting with syntax highlighting if PPI::HTML or Perl::Tidy module
is detected. Like html|html_minimal reporting, percentage thresholds are
colour-coded and configurable.
- text
- Plain text reporting.
- compilation
- Like text but hacked to give a minimal output in a format similar to that
output by Perl itself so that it's easier to step through the untested
locations with Emacs compilation mode.
DETAILS¶
Any number of coverage databases may be specified on the command line. These
databases will be merged and the reports will be based on the merged
information. If no databases are specified the default database (cover_db)
will be used.
The -write option will write out the merged database. If no name is given for
the new database, the first database read in will be overwritten. When this
option is used no reports are generated by default.
Specify the -select, -select_re, -ignore, and -ignore_re options to report on
specific files. -select and -ignore are interpreted as shell globs; -select_re
and -ignore_re are interpreted as regular expressions.
Specify -coverage options to report on specific criteria. By default all
available information on all criteria in all files will be reported. Available
coverage options are statement, branch, condition, subroutine, pod, and
default (which equates to all available options). However, if you know you
only want coverage information for certain criteria it is better to only
collect data for those criteria in the first place by specifying them at that
point. This will make the data collection and reporting processes faster and
less memory intensive. See the documentation for Devel::Cover for more
information.
If you want all *except* some criteria, then you can say something like
'-coverage default,-pod'.
The -test option will delete the databases and run your tests to generate new
coverage data before reporting on it. Devel::Cover knows how to work with
standard Perl Makefiles as well as Module::Build based distributions. For
detailed instructions see the documentation for ExtUtils::MakeMaker at
<
https://metacpan.org/module/ExtUtils::MakeMaker> or for Module::Build
at <
https://metacpan.org/module/Module::Build> both of which come as
standard in recent Perl distributions.
The -gcov option will try to run gcov on any XS code. This requires that you are
using gcc of course. If you are using the -test option will be turned on by
default.
EXIT STATUS¶
The following exit values are returned:
0 All operations were completed successfully.
>0 An error occurred.
With the -test option the exit status of the underlying test run is returned.
SEE ALSO¶
Devel::Cover
BUGS¶
Did I mention that this is alpha code?
See the BUGS file.
LICENCE¶
Copyright 2001-2014, Paul Johnson (paul@pjcj.net)
This software is free. It is licensed under the same terms as Perl itself.
The latest version of this software should be available from my homepage:
http://www.pjcj.net