MazamaScience/MazamaCoreUtils

add customized check_~() functions

Closed this issue · 0 comments

Several of our packages take several minutes to check because of examples, tests and vignettes. While all of these are good to have, waiting for check to finish is a disincentive that causes people to check less often. So we need an easy way for developers to run check quickly by skipping over some of the checks.

The devtools package check() function accepts many arguments that can be used to skip over some aspects of checking but they are tedious to type in every time. What we need are a few wrapper functions that make it really easy to check things quickly.

This task will involve some experimentation to figure out which build and check args need to be specified so as not to generate errors. Each of the functions mentioned below may simply wrap a line similar to:

devtools::check(build_args = c('--resave-data','--no-build-vignettes','--no-manual'), args = c('--ignore-vignettes','--no-tests','--no-examples','--no-manual'))

Or, the functions may piece together the appropriate functionality from individual devtools functions. Here are the functions I think would be helpful:

  • check_fast() -- skips vignettes
  • check_faster() -- skips vignettes and examples
  • check_fastest() -- skips documentation rebuild, vignettes, examples and tests

Similarly, we should have some functions that do extra work by running devtools::check() with args like --run-dont-test or --run-dont-run:

  • check_slow() -- runs \donttest{} examples
  • check_slower() -- runs both \donttest{} and \dontrun{} examples
  • check_slowest() -- runs with maximal testing incudling things like --use-valgrind or --use-gct