R Under development (unstable) (2025-08-24 r88696 ucrt) -- "Unsuffered Consequences" Copyright (C) 2025 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. > ## This runs testme test script inst/testme/test-batchtools_custom.R > ## Don't edit - it was autogenerated by inst/testme/deploy.R > future.batchtools:::testme("batchtools_custom") Test 'batchtools_custom' ... Sourcing 9 prologue scripts ... 01/09 prologue script 'D:/RCompile/CRANincoming/R-devel/lib/future.batchtools/testme/_prologue/001.load.R' 02/09 prologue script 'D:/RCompile/CRANincoming/R-devel/lib/future.batchtools/testme/_prologue/002.record-state.R' 03/09 prologue script 'D:/RCompile/CRANincoming/R-devel/lib/future.batchtools/testme/_prologue/030.imports.R' 04/09 prologue script 'D:/RCompile/CRANincoming/R-devel/lib/future.batchtools/testme/_prologue/050.utils.R' 05/09 prologue script 'D:/RCompile/CRANincoming/R-devel/lib/future.batchtools/testme/_prologue/090.context.R' 06/09 prologue script 'D:/RCompile/CRANincoming/R-devel/lib/future.batchtools/testme/_prologue/090.options.R' 07/09 prologue script 'D:/RCompile/CRANincoming/R-devel/lib/future.batchtools/testme/_prologue/091.envvars.R' 08/09 prologue script 'D:/RCompile/CRANincoming/R-devel/lib/future.batchtools/testme/_prologue/099.future-setup.R' 09/09 prologue script 'D:/RCompile/CRANincoming/R-devel/lib/future.batchtools/testme/_prologue/995.detrius-connections.R' Sourcing 9 prologue scripts ... done Running test script: 'D:/RCompile/CRANincoming/R-devel/lib/future.batchtools/testme/test-batchtools_custom.R' > library(future) > library(batchtools) > library(listenv) > message("*** batchtools_custom() ...") *** batchtools_custom() ... > message("*** batchtools_custom() w/ 'conf.file' on R_BATCHTOOLS_SEARCH_PATH") *** batchtools_custom() w/ 'conf.file' on R_BATCHTOOLS_SEARCH_PATH > plan(future.batchtools::batchtools_custom) > f <- future({ + 42 + }) > print(f) BatchtoolsCustomFuture: Label: Expression: { 42L } Globals: Packages: L'Ecuyer-CMRG RNG seed: (seed = FALSE) Capture standard output: TRUE Capture condition classes: 'condition' (excluding '') Immediate condition classes: 'immediateCondition' Lazy evaluation: FALSE Local evaluation: TRUE Asynchronous evaluation: TRUE Early signaling: FALSE Environment: R_GlobalEnv State: 'running' Resolved: TRUE Unique identifier: 45fd131331ba4d813f9c5737b888fcf5-1 Owner process: 45fd131331ba4d813f9c5737b888fcf5 Class: 'BatchtoolsCustomFuture', 'BatchtoolsFuture', 'Future' Value: Conditions captured: batchtools configuration file: batchtools cluster functions: 'Interactive' batchtools cluster functions template: batchtools status: 'defined', 'finished', 'started', 'submitted' Output captured by batchtools: [output] ### [bt]: This is batchtools v0.9.18 [output] ### [bt]: Starting calculation of 1 jobs [output] ### [bt]: Setting working directory to 'D:/RCompile/CRANincoming/R-devel/future.batchtools.Rcheck/tests' [output] Loading required package: methods [output] ### [bt]: Memory measurement disabled [output] ### [bt]: Starting job [batchtools job.id=1] [output] ### [bt]: Setting seed to 2303 ... [output] [output] ### [bt]: Job terminated successfully [batchtools job.id=1] [output] ### [bt]: Calculation finished! batchtools Registry: File dir exists: TRUE Work dir exists: TRUE Job Registry Backend : Interactive File dir : D:/temp/2025_08_26_00_40_17_26176/RtmpmQw4RO/.future/20250826_004121-mQw4RO/batchtools_1148954970 Work dir : D:/RCompile/CRANincoming/R-devel/future.batchtools.Rcheck/tests Jobs : 1 Seed : 2302 Writeable: TRUE > stopifnot(inherits(f, "BatchtoolsFuture")) > v <- value(f) > print(v) [1] 42 > stopifnot(v == 42) > message("*** batchtools_custom() w/ 'cluster.functions' without globals") *** batchtools_custom() w/ 'cluster.functions' without globals > cf <- makeClusterFunctionsInteractive(external = TRUE) > str(cf) List of 11 $ name : chr "Interactive" $ submitJob :function (reg, jc) $ killJob : NULL $ listJobsQueued : NULL $ listJobsRunning : NULL $ array.var : chr NA $ store.job.collection: logi TRUE $ store.job.files : logi FALSE $ scheduler.latency : num 0 $ fs.latency : num 0 $ hooks : list() - attr(*, "class")= chr "ClusterFunctions" > plan(future.batchtools::batchtools_custom, cluster.functions = cf) Warning: Detected 1 unknown future arguments: 'cluster.functions' > f <- future({ + 42 + }) > stopifnot(inherits(f, "BatchtoolsFuture")) > print(is_resolved <- resolved(f)) [1] TRUE > stopifnot(is_resolved) > y <- value(f) > print(y) [1] 42 > stopifnot(y == 42) > message("*** batchtools_custom() w/ 'cluster.functions' with globals") *** batchtools_custom() w/ 'cluster.functions' with globals > a <- 0 > f <- future({ + b <- 3 + c <- 2 + a * b * c + }) > print(f) BatchtoolsCustomFuture: Label: Expression: { b <- 3 c <- 2 a * b * c } Globals: 1 objects totaling 346 bytes (numeric 'a' of 39 bytes) Packages: L'Ecuyer-CMRG RNG seed: (seed = FALSE) Capture standard output: TRUE Capture condition classes: 'condition' (excluding '') Immediate condition classes: 'immediateCondition' Lazy evaluation: FALSE Local evaluation: TRUE Asynchronous evaluation: TRUE Early signaling: FALSE Environment: R_GlobalEnv State: 'running' Resolved: TRUE Unique identifier: 45fd131331ba4d813f9c5737b888fcf5-3 Owner process: 45fd131331ba4d813f9c5737b888fcf5 Class: 'BatchtoolsCustomFuture', 'BatchtoolsFuture', 'Future' Value: Conditions captured: batchtools configuration file: batchtools cluster functions: 'Interactive' batchtools cluster functions template: batchtools status: 'defined', 'finished', 'started', 'submitted' Output captured by batchtools: [output] ### [bt]: This is batchtools v0.9.18 [output] ### [bt]: Starting calculation of 1 jobs [output] ### [bt]: Setting working directory to 'D:/RCompile/CRANincoming/R-devel/future.batchtools.Rcheck/tests' [output] Loading required package: methods [output] ### [bt]: Memory measurement disabled [output] ### [bt]: Starting job [batchtools job.id=1] [output] ### [bt]: Setting seed to 15741 ... [output] [output] ### [bt]: Job terminated successfully [batchtools job.id=1] [output] ### [bt]: Calculation finished! batchtools Registry: File dir exists: TRUE Work dir exists: TRUE Job Registry Backend : Interactive File dir : D:/temp/2025_08_26_00_40_17_26176/RtmpmQw4RO/.future/20250826_004121-mQw4RO/batchtools_128506049 Work dir : D:/RCompile/CRANincoming/R-devel/future.batchtools.Rcheck/tests Jobs : 1 Seed : 15740 Writeable: TRUE > a <- 7 > v <- value(f) > print(v) [1] 0 > stopifnot(v == 0) > message("*** batchtools_custom() w/ 'cluster.functions' with globals (tricky)") *** batchtools_custom() w/ 'cluster.functions' with globals (tricky) > x <- listenv() > for (ii in 1:2) { + x[[ii]] <- future({ + ii + }, globals = TRUE) + } > v <- unlist(value(x)) > stopifnot(all(v == 1:2)) > message("*** batchtools_custom() w/ 'cluster.functions' and errors") *** batchtools_custom() w/ 'cluster.functions' and errors > f <- future({ + stop("Whoops!") + 1 + }) > v <- value(f, signal = FALSE) Warning in delete.BatchtoolsFuture(future) : Will not remove batchtools registry, because the status of the batchtools was 'error', 'defined', 'finished', 'started', 'submitted' and future backend argument 'delete' is 'on-success': 'D:/temp/2025_08_26_00_40_17_26176/RtmpmQw4RO/.future/20250826_004121-mQw4RO/batchtools_1355893763' > print(v) > stopifnot(inherits(v, "simpleError")) > res <- try({ + v <- value(f) + }, silent = TRUE) > print(res) [1] "Error in eval(quote({ : Whoops!\n" attr(,"class") [1] "try-error" attr(,"condition") > stopifnot(inherits(res, "try-error")) > res <- try(value(f), silent = TRUE) > print(res) [1] "Error in eval(quote({ : Whoops!\n" attr(,"class") [1] "try-error" attr(,"condition") > stopifnot(inherits(res, "try-error")) > message("*** batchtools_custom() ... DONE") *** batchtools_custom() ... DONE Sourcing 6 epilogue scripts ... 01/06 epilogue script 'D:/RCompile/CRANincoming/R-devel/lib/future.batchtools/testme/_epilogue/001.undo-future.R' 02/06 epilogue script 'D:/RCompile/CRANincoming/R-devel/lib/future.batchtools/testme/_epilogue/002.undo-state.R' Failed to undo environment variables: - Expected environment variables: [n=214] '!ExitCode', 'ALLUSERSPROFILE', 'APPDATA', ..., 'tempdirname' - Environment variables still there: [n=0] - Environment variables missing: [n=1] 'MAKEFLAGS' Differences environment variable by environment variable: 03/06 epilogue script 'D:/RCompile/CRANincoming/R-devel/lib/future.batchtools/testme/_epilogue/090.gc.R' 04/06 epilogue script 'D:/RCompile/CRANincoming/R-devel/lib/future.batchtools/testme/_epilogue/099.session_info.R' 05/06 epilogue script 'D:/RCompile/CRANincoming/R-devel/lib/future.batchtools/testme/_epilogue/995.detritus-connections.R' 06/06 epilogue script 'D:/RCompile/CRANincoming/R-devel/lib/future.batchtools/testme/_epilogue/999.detritus-files.R' Skipping, because path appears not to be an 'R CMD check' folder: 'D:/temp/2025_08_26_00_40_17_26176' Sourcing 6 epilogue scripts ... done Test time: user.self=1s, sys.self=0.09s, elapsed=6s, user.child=NAs, sys.child=NAs Test 'tempdirname' ... success > > proc.time() user system elapsed 1.48 0.18 6.20 Warning message: In delete.BatchtoolsFuture(f, onRunning = "skip", onMissing = "ignore", : Will not remove batchtools registry, because the status of the batchtools was 'error', 'defined', 'finished', 'started', 'submitted' and future backend argument 'delete' is 'on-success': 'D:/temp/2025_08_26_00_40_17_26176/RtmpmQw4RO/.future/20250826_004121-mQw4RO/batchtools_1355893763'