Hi, I'm trying to implement testthat's parallel testing feature. I've updated my package description file as detailed in the docs, and setting either
Sys.setenv("TESTTHAT_CPUS"=4) either in my session, or in a .Rprofile file seems to work for me when using
When I run
devtools::check() it only runs with 2 CPUs, which is the default, which after a little thought, makes sense as I think the R CMD check is creating a fresh R session, so not inheriting the values.
If I stick the
options(Ncpus=4) code in the testthat.R file,
devtools::check() does seem to pick this up (I'm aware I should be careful with setting options in tests, but for the purpose of the example, the above works). However,
devtools::test() does not.
Including the code in a setup.R in the testthat folder doesn't work, as I think this is submitted after the pool of workers is created, so doesn't come in to force at the right time.
Wondering if there's a better solution than to implement the setting in both a .Rprofile and the testthat.R file. Any help much appreciated. I have a skeleton package where I have implemented the above I can add to git if it would be useful for testing.