- Added support for
klmr/box
modules. This works best withfile_coverage()
. (@radbasa, #491)
- Fix for a failing test on CRAN
-
Updates to internal usage of
is.atomic()
to work with upcoming R release (@mmaechler , #542) -
package_coverage()
now works correctly with ignore files when it is not run in the package root directory (@mpadge, #538)
-
to_cobertura()
is now explicit about the doctype of the resulting XML. It also sets a source path if recorded. (@mmyrte, #524) -
The internal generic
merge_coverage()
now correctly registers the S3 methods. -
The internal test for recording large calls no longer assumes R is on the system PATH.
-
Added
covr.record_tests
option. WhenTRUE
, this enables the recording of the trace of the tests being executed and adds an itemization of which tests result in the execution of each trace. For more details see?covr.record_tests
(@dgkf, #463, #485, #503) -
as.data.frame()
now returns an 0 row data frame when there are no functions in a package (#427) -
codecov()
is now more robust whencoverage
is not the output frompackage_coverage()
andtoken
is not provided (#456) -
package_coverage(code = )
now accepts character vectors of length greater than 1 (@bastistician, #481) -
package_coverage()
now handles packages with install or render time examples (#488) -
package_coverage()
now sets the environment variableR_TESTS
to the tests-startup.R file like R CMD check does (#420) -
report()
now provides a more detailed error message if theDT
andhtmltools
dependencies are not installed (#500). -
Fix
parse_gcov
bug when package is stored in directory with regex special characters, see #459 -
Error/warning thrown for, respectively, missing gcov or empty parsed gcov output (@stephematician, #448)
-
Support Google Cloud Build uploading reports to Codecov.io (@MarkEdmondson1234 #469)
-
covr is now licensed as MIT (#454)
-
Generated files from cpp11 are now ignored (#437)
-
codecov()
andcoveralls()
now retry failed requests before raising an error (#428, @jameslamb)
-
codecov()
now supports GitHub Actions for public repositories without having to specify a token. -
New
to_sonarqube()
function added to support SonarQube generic XML format (@nibant, @Delfic, #413).
-
codecov()
now supports GitHub Actions. -
New
in_covr()
function added to return true if code is being run by covr (#407). -
file_coverage()
,environment_coverage()
andfunction_coverage()
now setR_COVR=true
, to be consistent withpackage_coverage()
(#407)
- Fix test failures in the development version of R (4.0.0) (#400)
- Fix inadvertent regression in return visibility when functions are covered.
covr versions prior to 3.3.0 surrounded each statement in
{
blocks. covr 3.3.0 switched to using({
, but this caused an inadvertent regression, as(
will make the result visible it is the last expression in a function. Usingif (TRUE) {
restores the previous behavior. (#391, #392)
-
New
azure()
function added to make it easy to use covr on Azure Pipelines (#370) -
Work around issues related to the new curly curly syntax in rlang (#379, #377, rlang#813)
-
Compiled code coverage has been improved, in particular C++ templates now contain the merged coverage of all template instances, even if the instances were defined in separate compilation units. (#390)
-
codecov()
now includes support for the flags field (#365) -
codecov
now lookscodecov.yml
for token ifCODECOV_TOKEN
envvar is not set (@MishaCivey #349). -
per_line()
now does not track lines with only punctuation such as}
or{
(#387) -
tally_coverage()
now includes compiled code, like it did previously (#384) -
Define the necessary coverage flags for C++14, C++17 and C++20 (#369).
-
to_cobertura()
now works with Cobertura coverage-04.dtd (@samssann, #337). -
R6 class generators prefixed with
.
are now included in coverage results (@jameslamb, #356). -
package_coverage()
gains optionpre_clean
, set toFALSE
to disable cleaning of existing objects before runningpackage_coverage()
(@jpritikin, #375)
- Fix for regression when testing coverage of packages using mclapply (#335).
- Previously deprecated
shine()
has been removed. Instead usereport()
.
-
file_report()
added when viewing coverage for a single file (#308). -
display_name()
is now exported, which can be useful to filter the coverage object by filename. -
environment_coverage()
added, mainly so it can be used fordevtools::test_coverage_file()
. -
gitlab()
function added to create a coverage report for GitLab using GitLab's internal pages (@surmann, #327, #331). -
The (optional) dependency on shiny has been removed.
report()
can now be built with only DT and htmltools installed.
-
Fix for gcc-8 gcov output producing lines with no coverage counts in them (#328)
-
impute_srcref()
now handles...
and drop through arguments in switch statements (#325). -
tally_coverage()
now avoids an error when there are NA values in the source references (#322). -
covr(clean = TRUE)
now cleans the temporary library as well (#144) -
package_coverage()
now returns the end of the file if there is a test error (#319) -
report()
now handles reports in relative paths with subdirectories correctly (#329) -
report()
reworked to look more like codecov.io and to display the overall coverage (#302, #307). -
DT explicitly loaded early in
report()
so that failures will occur fast if it is not installed. (#321, @renkun-ken).
shine()
has been deprecated in favor ofreport()
.
-
Add support for
.covrignore
files (#238), to exclude files from the coverage. -
Support future versions of R which do not use parse data by default (#309).
-
Allow using
trace_calls()
for manually adding functions to package trace that are not found automatically (#295, @mb706).
-
Fix errors when R is not in the
PATH
(#291) -
Fix line computations when relative paths are being used (#242).
-
Fix for Coveralls
Build processing error.
(#285) on pro accounts from Travis CI (#306, @kiwiroy). -
Keep attributes of function bodies (#311, @gaborcsardi)
-
Add an RStudio Addin for running a coverage report.
-
Never use mcexit fix on windows (#223).
-
Fix for a performance regression in parsing and reading parse data (#274).
-
Fix
switch
support for packages, which was broken due to a bug in how parse data is stored in packages. -
Improve behavior of
switch
coverage, it now supports default values and fall through properly. -
Add
-p
flag to gcov command to preserve file paths. Fixes a bug where gcov output didn't get reported when multiple compiled source files had the same name (#271, @patperry)
- The covr license has been changed to GPL-3.
- Set environment variable
R_COVR=true
when covr is running (#236, #268). - Made the gather-and-merge-results step at the end of package_coverage() more memory efficient (#226, @HenrikBengtsson).
- Support code coverage with icc (#247, @QinWang).
filter_not_package_files()
now works if a source reference does not have a filename (#254, @hughjonesd).- Fix test broken with xml2 v1.1.0
- Filter out non-local filenames from results (#237).
- Vignette rewrite / improvements (#229, @CSJCampbell).
- Fix code that returns
structure(NULL, *)
which is deprecated in R 3.4.0 (#260, #261, @renkun-ken).
- Fix test broken with DT 0.2
- Fix tests broken with updated htmlwidgets
- Change report tab title based on filename (Chen Liang).
- Add support for cobertura XML output (@wligtenberg).
- Add mcparallel support by patching
mcparallel:::mcexit()
automatically for packages using parallel (#195, @kforner).
- Add support for GitLab CI (#190, @enbrown).
- Update exclusion documentation to include line_exclusions and function exclusions (#191).
- Support coverage of R6 methods (#174).
- Explicitly set default packages (including methods) (#183, #180)
- Set R_LIBS and R_LIBS_SITE as well as R_LIBS_USER (#188).
- Automatically exclude RcppExport files (#170).
- Memoised and Vectorized functions now able to be tracked.
- Support for filtering by function as well as line.
- Now tracks coverage for RC methods
- Rewrote loading and saving to support parallel code and tests including
quit()
calls. - Made passing code to
function_coverage()
andpackage_coverage()
not use non-standard evaluation. NULL
statements are analyzed for coverage (#156, @krlmlr).- Finer coverage analysis for brace-less
if
,while
andfor
statements (#154, @krlmlr). - Run any combination of coverage types (#104, #133)
- Remove inconsistencies in line counts between shiny app and services (#129)
- Include header files in gcov output (#112)
- Add support for C++11 (#131)
- Always clean gcov files even on failure (#108)
- zero_coverage works with RStudio markers (#119)
- Remove the devtools dependency
- Set
.libPaths()
in subprocess to match those in calling process (#140, #147). - Move devtools dependency to suggests, only needed on windows
- move htmltools to suggests
- Initial Release