On 15/12/2022 10:25 a.m., Spencer Graves wrote:
The "sos" package includes a function "CRAN", which is used for that
purpose. The examples section in "findfn.Rd" includes the following:
# Skip these tests on CRAN,
# because they take more than 5 seconds
if(!CRAN()){
...
}
I know that some on this list do not like this construct, but it has
helped me manage this problem for several years. NOTE: This CRAN
function is NOT maintained by anyone on CRAN, so it is NOT guaranteed to
work. However, the "sos" package is currently on CRAN, and I have not
seen an email asking me to avoid it ;-)
I've been reminded today why this is such a bad idea. I'm preparing an
update of the rgl package. As I attempt to be a good citizen, I'm doing
comparison checks of all of the 300 packages that use it, to see if my
updates break anything. I am not CRAN, so if any of those packages
follow Spencer's scheme, I'll have to wait even longer for the run to
finish. (Currently it's about 15 hours predicted time on my slow laptop.)
It's more considerate to have a function that defaults to not running
slow tests unless you specifically ask for them to be run. The testthat
package does this using the NOTCRAN environment variable: it assumes
everyone is CRAN unless they specifically declare themselves not to be.
Strange choice of name, but it achieves what I'm suggesting. The
tinytest package has an "at_home" argument to some functions; when
testing a whole package, it defaults to FALSE, which is also the
considerate choice.
Duncan Murdoch
______________________________________________
R-package-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel