This function calculates the test coverage for a development package on the
path
. By default it runs only the package tests, but it can also run
vignette and example code.
package_coverage(
path = ".",
type = c("tests", "vignettes", "examples", "all", "none"),
combine_types = TRUE,
relative_path = TRUE,
quiet = TRUE,
clean = TRUE,
line_exclusions = NULL,
function_exclusions = NULL,
code = character(),
install_path = temp_file("R_LIBS"),
...,
exclusions,
pre_clean = TRUE
)
file path to the package.
run the package ‘tests’, ‘vignettes’, ‘examples’, ‘all’, or ‘none’. The default is ‘tests’.
If TRUE
(the default) the coverage for all types
is simply summed into one coverage object. If FALSE
separate objects
are used for each type of coverage.
whether to output the paths as relative or absolute paths. If a string, it is interpreted as a root path and all paths will be relative to that root.
whether to load and compile the package quietly, useful for debugging errors.
whether to clean temporary output files after running, mainly useful for debugging errors.
a named list of files with the lines to exclude from each file.
a vector of regular expressions matching function
names to exclude. Example print\\\.
to match print methods.
A character vector of additional test code to run.
The path the instrumented package will be installed to
and tests run in. By default it is a path in the R sessions temporary
directory. It can sometimes be useful to set this (along with clean = FALSE
) to help debug test failures.
Additional arguments passed to tools::testInstalledPackage()
.
‘Deprecated’, please use ‘line_exclusions’ instead.
whether to delete all objects present in the src directory before recompiling
This function uses tools::testInstalledPackage()
to run the
code, if you would like to test your package in another way you can set
type = "none"
and pass the code to run as a character vector to the
code
parameter.
Parallelized code using parallel's mcparallel()
needs to
use a patched parallel:::mcexit
. This is done automatically if the
package depends on parallel, but can also be explicitly set using the
environment variable COVR_FIX_PARALLEL_MCEXIT
or the global option
covr.fix_parallel_mcexit
.
exclusions()
For details on excluding parts of the
package from the coverage calculations.