R Under development (unstable) (2024-09-25 r87194 ucrt) -- "Unsuffered Consequences" Copyright (C) 2024 The R Foundation for Statistical Computing Platform: x86_64-w64-mingw32/x64 R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under certain conditions. Type 'license()' or 'licence()' for distribution details. R is a collaborative project with many contributors. Type 'contributors()' for more information and 'citation()' on how to cite R or R packages in publications. Type 'demo()' for some demos, 'help()' for on-line help, or 'help.start()' for an HTML browser interface to help. Type 'q()' to quit R. > # tools::check_packages_in_dir(".", check_args = "--no-multiarch") > if (Sys.getenv("_LOCAL_TESTS_")=="TRUE") { ## not on CRAN + if(require("testthat", quietly = TRUE)) { + pkg <- "Infusion" + require(pkg, character.only=TRUE, quietly=TRUE) + if (interactive()) { + { ## block of standard tests + # options(error=recover) + while (dev.cur()>1L) dev.off() + oldask <- devAskNewPage(ask=FALSE) + if (FALSE) { + testfiles <- dir(paste0(Infusion::projpath(),"/package/tests/testthat/"),pattern="*.R",full.names = TRUE) + } else { + testfiles <- dir(paste0(Infusion::projpath(),"/package/tests/testthat/"),full.names = TRUE) + testfiles <- testfiles[grep("*.R$",testfiles)] + } + oldmaxt <- Infusion.options(example_maxtime=100, ## won't test much otherwise + nb_cores=NULL) # enforce default nb_cores + timings <- t(sapply(testfiles, function(fich){system.time(source(fich))})) + Infusion.options(oldmaxt) + print(colSums(timings)) + devAskNewPage(oldask) ## fixme: pb if dev.new has been called in-between + } + if (FALSE) { ## tests not included in package (using unpublished data, etc.) + if (TRUE) { # see above comment about Rstudio + priv_testfiles <- dir(paste0(spaMM::projpath(),"/package/tests_private/"),pattern="*.R$",full.names = TRUE) + } else { + priv_testfiles <- dir(paste0(spaMM::projpath(),"/package/tests_private/"),full.names = TRUE) + priv_testfiles <- priv_testfiles[grep("*.R$",priv_testfiles)] + } + priv_timings <- t(sapply(priv_testfiles, function(fich){ + cat(cli::col_green(paste0("\n",fich))) + gc() + tps <- system.time(chk <- try(source(fich)), gcFirst=FALSE) + if (inherits(chk,"try-error")) warning(paste0(fich," generated an error")) + tps + })) + print(colSums(priv_timings)) # very roughly 1205.44 s elapsed for default maxtime (0.7) # much less after improving COMP + } + if (FALSE) { # slow and using several packages external to Infusion (but faster if one keeps the cache...) + source(paste0(projpath(),"/../vignette/knitr.R")) + } + } else { ## for devtools or R CMD check , cf ?test_check for using library() here: + if (TRUE) { # condition to characterize devtools::check? + # this means that the test_all checks are run by R CMD Check (contrary to those in spaMM) + # and acan detect issues from using global variables, that R CMD Check would not detect on spaMM. + library("testthat") + library(pkg, character.only = TRUE) + report <- test_check(pkg) + print(warnings()) # TODO? catch most of these by expect_warning(..) + } + } + } else { + cat( "package 'testthat' not available, cannot run unit tests\n" ) + } + } else cat( "Environment variable _LOCAL_TESTS_ must be set to TRUE for the tests to run.\n" ) Environment variable _LOCAL_TESTS_ must be set to TRUE for the tests to run. > > proc.time() user system elapsed 0.23 0.04 0.23