R version 4.5.0 alpha (2025-03-23 r88038 ucrt) 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 incl/testme/test-availableWorkers.R > ## Don't edit - it was autogenerated by inst/testme/deploy.R > parallelly:::testme("availableWorkers") Test 'availableWorkers' ... Sourcing 7 prologue scripts ... 01/07 prologue script 'D:/RCompile/CRANincoming/R-devel/lib/parallelly/testme/_prologue/001.load.R' 02/07 prologue script 'D:/RCompile/CRANincoming/R-devel/lib/parallelly/testme/_prologue/002.record-state.R' 03/07 prologue script 'D:/RCompile/CRANincoming/R-devel/lib/parallelly/testme/_prologue/030.imports.R' 04/07 prologue script 'D:/RCompile/CRANincoming/R-devel/lib/parallelly/testme/_prologue/050.utils.R' 05/07 prologue script 'D:/RCompile/CRANincoming/R-devel/lib/parallelly/testme/_prologue/090.context.R' 06/07 prologue script 'D:/RCompile/CRANincoming/R-devel/lib/parallelly/testme/_prologue/090.options.R' 07/07 prologue script 'D:/RCompile/CRANincoming/R-devel/lib/parallelly/testme/_prologue/091.envvars.R' Sourcing 7 prologue scripts ... done Running test script: 'D:/RCompile/CRANincoming/R-devel/lib/parallelly/testme/test-availableWorkers.R' > library(parallelly) > message("*** availableWorkers() ...") *** availableWorkers() ... > w <- availableWorkers() > print(w) [1] "localhost" "localhost" > stopifnot(is.character(w), length(w) >= 1) > print(availableWorkers(which = "min")) [1] "localhost" > print(availableWorkers(which = "max")) [1] "localhost" "localhost" "localhost" "localhost" "localhost" "localhost" [7] "localhost" "localhost" "localhost" "localhost" "localhost" "localhost" [13] "localhost" "localhost" "localhost" "localhost" "localhost" "localhost" [19] "localhost" "localhost" "localhost" "localhost" "localhost" "localhost" [25] "localhost" "localhost" "localhost" "localhost" "localhost" "localhost" [31] "localhost" "localhost" "localhost" "localhost" "localhost" "localhost" [37] "localhost" "localhost" "localhost" "localhost" "localhost" "localhost" [43] "localhost" "localhost" "localhost" "localhost" "localhost" "localhost" [49] "localhost" "localhost" "localhost" "localhost" "localhost" "localhost" [55] "localhost" "localhost" "localhost" "localhost" "localhost" "localhost" [61] "localhost" "localhost" "localhost" "localhost" "localhost" "localhost" [67] "localhost" "localhost" "localhost" "localhost" "localhost" "localhost" [73] "localhost" "localhost" "localhost" "localhost" "localhost" "localhost" [79] "localhost" "localhost" "localhost" "localhost" "localhost" "localhost" [85] "localhost" "localhost" "localhost" "localhost" "localhost" "localhost" [91] "localhost" "localhost" "localhost" "localhost" "localhost" "localhost" > print(availableWorkers(na.rm = FALSE, which = "all")) $mc.cores [1] "localhost" "localhost" $BiocParallel character(0) $`_R_CHECK_LIMIT_CORES_` [1] "localhost" "localhost" $Bioconductor character(0) $LSF character(0) $PJM character(0) $PBS character(0) $SGE character(0) $Slurm character(0) $custom character(0) $cgroups.cpuset character(0) $cgroups.cpuquota character(0) $cgroups2.cpu.max character(0) $nproc character(0) $system [1] "localhost" "localhost" "localhost" "localhost" "localhost" "localhost" [7] "localhost" "localhost" "localhost" "localhost" "localhost" "localhost" [13] "localhost" "localhost" "localhost" "localhost" "localhost" "localhost" [19] "localhost" "localhost" "localhost" "localhost" "localhost" "localhost" [25] "localhost" "localhost" "localhost" "localhost" "localhost" "localhost" [31] "localhost" "localhost" "localhost" "localhost" "localhost" "localhost" [37] "localhost" "localhost" "localhost" "localhost" "localhost" "localhost" [43] "localhost" "localhost" "localhost" "localhost" "localhost" "localhost" [49] "localhost" "localhost" "localhost" "localhost" "localhost" "localhost" [55] "localhost" "localhost" "localhost" "localhost" "localhost" "localhost" [61] "localhost" "localhost" "localhost" "localhost" "localhost" "localhost" [67] "localhost" "localhost" "localhost" "localhost" "localhost" "localhost" [73] "localhost" "localhost" "localhost" "localhost" "localhost" "localhost" [79] "localhost" "localhost" "localhost" "localhost" "localhost" "localhost" [85] "localhost" "localhost" "localhost" "localhost" "localhost" "localhost" [91] "localhost" "localhost" "localhost" "localhost" "localhost" "localhost" $fallback character(0) > w <- availableWorkers(methods = "system") > print(w) [1] "localhost" "localhost" "localhost" "localhost" "localhost" "localhost" [7] "localhost" "localhost" "localhost" "localhost" "localhost" "localhost" [13] "localhost" "localhost" "localhost" "localhost" "localhost" "localhost" [19] "localhost" "localhost" "localhost" "localhost" "localhost" "localhost" [25] "localhost" "localhost" "localhost" "localhost" "localhost" "localhost" [31] "localhost" "localhost" "localhost" "localhost" "localhost" "localhost" [37] "localhost" "localhost" "localhost" "localhost" "localhost" "localhost" [43] "localhost" "localhost" "localhost" "localhost" "localhost" "localhost" [49] "localhost" "localhost" "localhost" "localhost" "localhost" "localhost" [55] "localhost" "localhost" "localhost" "localhost" "localhost" "localhost" [61] "localhost" "localhost" "localhost" "localhost" "localhost" "localhost" [67] "localhost" "localhost" "localhost" "localhost" "localhost" "localhost" [73] "localhost" "localhost" "localhost" "localhost" "localhost" "localhost" [79] "localhost" "localhost" "localhost" "localhost" "localhost" "localhost" [85] "localhost" "localhost" "localhost" "localhost" "localhost" "localhost" [91] "localhost" "localhost" "localhost" "localhost" "localhost" "localhost" > stopifnot(is.character(w), length(w) >= 1) > print(availableWorkers(methods = "PBS")) [1] "localhost" > print(availableWorkers(methods = "SGE")) [1] "localhost" > print(availableWorkers(methods = "Slurm")) [1] "localhost" > print(availableWorkers(methods = "LSF")) [1] "localhost" > print(availableWorkers(methods = "PJM")) [1] "localhost" > message("*** HPC related ...") *** HPC related ... > sge_expand_node_count_pairs <- parallelly:::sge_expand_node_count_pairs > read_pbs_nodefile <- parallelly:::read_pbs_nodefile > read_pjm_nodefile <- parallelly:::read_pjm_nodefile > read_pe_hostfile <- parallelly:::read_pe_hostfile > workers0 <- c("n1", "n2", "n3", "n1", "n6", "n3", + "n3", "n5") > data0 <- as.data.frame(table(workers0), stringsAsFactors = FALSE) > colnames(data0) <- c("node", "count") > data0 <- data0[order(data0$node, data0$count), ] > message("*** LSF ...") *** LSF ... > Sys.setenv(LSB_HOSTS = paste(workers0, collapse = " ")) > workers <- availableWorkers(methods = "LSF") > print(workers) [1] "n1" "n2" "n3" "n1" "n6" "n3" "n3" "n5" > stopifnot(length(workers) == length(workers0)) > message("*** LSF ... done") *** LSF ... done > message("*** read_pbs_nodefile() ...") *** read_pbs_nodefile() ... > workers <- workers0 > pathname <- tempfile() > writeLines(workers, con = pathname) > data <- read_pbs_nodefile(pathname) > str(data) 'data.frame': 8 obs. of 1 variable: $ node: chr "n1" "n1" "n2" "n3" ... > stopifnot(c("node") %in% colnames(data), is.character(data$node), + !anyNA(data$node), nrow(data$node) == length(workers), all(sort(data$node) .... [TRUNCATED] > Sys.setenv(PBS_NODEFILE = pathname) > Sys.setenv(PBS_NP = length(workers), PBS_NUM_NODES = length(workers)/2, + PBS_NUM_PPN = 2) > workers <- availableWorkers(methods = "PBS") > print(workers) [1] "n1" "n1" "n2" "n3" "n3" "n3" "n5" "n6" > stopifnot(length(workers) == length(workers0), all(workers == + sort(workers0))) > Sys.setenv(PBS_NUM_PPN = 3) > res <- tryCatch({ + workers <- availableWorkers(methods = "PBS") + }, warning = identity) > stopifnot(inherits(res, "warning")) > Sys.setenv(PBS_NP = length(workers) + 1) > res <- tryCatch({ + workers <- availableWorkers(methods = "PBS") + }, warning = identity) > stopifnot(inherits(res, "warning")) > workersE <- c(workers, "n 3") > pathname <- tempfile() > writeLines(workersE, con = pathname) > res <- tryCatch(read_pbs_nodefile(pathname), error = identity) > print(res) > stopifnot(inherits(res, "error")) > Sys.setenv(PBS_NODEFILE = "") > res <- tryCatch({ + workers <- availableWorkers(methods = "PBS") + }, warning = identity) > stopifnot(inherits(res, "warning")) > message("*** read_pbs_nodefile() ... DONE") *** read_pbs_nodefile() ... DONE > message("*** read_pjm_nodefile() ...") *** read_pjm_nodefile() ... > workersT <- unique(workers0) > pathname <- tempfile() > writeLines(workersT, con = pathname) > data <- read_pjm_nodefile(pathname) > str(data) 'data.frame': 5 obs. of 1 variable: $ node: chr "n1" "n2" "n3" "n5" ... > stopifnot(c("node") %in% colnames(data), is.character(data$node), + !anyNA(data$node), nrow(data$node) == length(workersT), all(sort(data$node) .... [TRUNCATED] > Sys.setenv(PJM_O_NODEINF = pathname) > message("- PJM_VNODE_CORE=1") - PJM_VNODE_CORE=1 > Sys.setenv(PJM_VNODE_CORE = "1") > workers <- availableWorkers(methods = "PJM") > print(workers) [1] "n1" "n2" "n3" "n6" "n5" > stopifnot(length(workers) == length(workersT), all(sort(workers) == + sort(workersT))) > message("- PJM_VNODE=", length(workersT)) - PJM_VNODE=5 > message("- PJM_VNODE_CORE=2") - PJM_VNODE_CORE=2 > Sys.setenv(PJM_VNODE = length(workersT)) > Sys.setenv(PJM_VNODE_CORE = "2") > workers <- availableWorkers(methods = "PJM") > print(workers) [1] "n1" "n1" "n2" "n2" "n3" "n3" "n6" "n6" "n5" "n5" > stopifnot(length(workers) == 2 * length(workersT), + all(workers %in% workersT), all(workersT %in% workers)) > message("- PJM_VNODE=1 (incompatible => warning)") - PJM_VNODE=1 (incompatible => warning) > message("- PJM_VNODE_CORE=2") - PJM_VNODE_CORE=2 > Sys.setenv(PJM_VNODE = "1") > Sys.setenv(PJM_VNODE_CORE = "2") > workers <- availableWorkers(methods = "PJM") Warning: Environment variable 'PJM_VNODE' does not agree with the number of hosts in file 'PJM_O_NODEINF': 1 != 5 > print(workers) [1] "n1" "n1" "n2" "n2" "n3" "n3" "n6" "n6" "n5" "n5" > stopifnot(length(workers) == 2 * length(workersT), + all(workers %in% workersT), all(workersT %in% workers)) > message("- PJM_O_NODEINF = ") - PJM_O_NODEINF = > Sys.setenv(PJM_O_NODEINF = "") > res <- tryCatch({ + workers <- availableWorkers(methods = "PJM") + }, warning = identity) > stopifnot(inherits(res, "warning")) > message("*** read_pjm_nodefile() ... DONE") *** read_pjm_nodefile() ... DONE > message("*** read_pe_hostfile() ...") *** read_pe_hostfile() ... > workers <- workers0 > pathname <- tempfile() > write.table(data0, file = pathname, quote = FALSE, + row.names = FALSE, col.names = FALSE) > lines <- readLines(pathname) > print(lines) [1] "n1 2" "n2 1" "n3 3" "n5 1" "n6 1" > data <- read_pe_hostfile(pathname, expand = FALSE) > print(data) node count 1 n1 2 2 n2 1 3 n3 3 4 n5 1 5 n6 1 > stopifnot(is.character(data$node), !anyNA(data$node), + is.integer(data$count), !anyNA(data$count), all(is.finite(data$count)), + all(data .... [TRUNCATED] > workers <- sge_expand_node_count_pairs(data) > stopifnot(length(workers) == length(workers0), all(workers == + sort(workers0))) > Sys.setenv(PE_HOSTFILE = pathname) > Sys.setenv(NSLOTS = length(workers0)) > workers <- availableWorkers(methods = "SGE") > print(workers) [1] "n1" "n1" "n2" "n3" "n3" "n3" "n5" "n6" > stopifnot(length(workers) == length(workers0), all(workers == + sort(workers0))) > Sys.setenv(NSLOTS = length(workers0) + 1) > workers <- tryCatch(availableWorkers(methods = "SGE"), + warning = identity) > print(workers) > stopifnot(inherits(workers, "warning")) > Sys.setenv(PE_HOSTFILE = "") > res <- tryCatch({ + workers <- availableWorkers(methods = "SGE") + }, warning = identity) > stopifnot(inherits(res, "warning")) > message("*** read_pe_hostfile() ... DONE") *** read_pe_hostfile() ... DONE > message("*** Slurm w/ SLURM_JOB_NODELIST ...") *** Slurm w/ SLURM_JOB_NODELIST ... > slurm_expand_nodelist <- parallelly:::slurm_expand_nodelist > specs <- list(n1 = c("n1"), ` n1` = c("n1"), `n1,, n3` = c("n1", + "n3"), `n1, n3` = c("n1", "n3"), `n3 n1` = c("n3", "n1"), + `n[1-13 .... [TRUNCATED] > all <- list(unlist(specs, use.names = FALSE)) > names(all) <- paste(names(specs), collapse = ",") > specs <- c(specs, all) > all <- list(unlist(rev(specs), use.names = FALSE)) > names(all) <- paste(rev(names(specs)), collapse = ",") > specs <- c(specs, all) > for (kk in seq_along(specs)) { + message(sprintf("- Specification #%d of %d", kk, length(specs))) + nodelist <- names(specs)[kk] + truth .... [TRUNCATED] - Specification #1 of 10 nodelist: 'n1' expanded: c('n1') truth: c('n1') SLURM_JOB_NODELIST = 'n1' SLURM_JOB_CPUS_PER_NODE = '' Warning in availableWorkersSlurm() : Expected either environment variable 'SLURM_JOB_CPUS_PER_NODE' or 'SLURM_TASKS_PER_NODE' to be set. Will assume one core per node. workers: c('n1') SLURM_JOB_NODELIST = 'n1' SLURM_JOB_CPUS_PER_NODE = '9' workers: c('n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1') n1 9 n1 9 - Specification #2 of 10 nodelist: ' n1' expanded: c('n1') truth: c('n1') SLURM_JOB_NODELIST = ' n1' SLURM_JOB_CPUS_PER_NODE = '' Warning in availableWorkersSlurm() : Expected either environment variable 'SLURM_JOB_CPUS_PER_NODE' or 'SLURM_TASKS_PER_NODE' to be set. Will assume one core per node. workers: c('n1') SLURM_JOB_NODELIST = ' n1' SLURM_JOB_CPUS_PER_NODE = '7' workers: c('n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1') n1 7 n1 7 - Specification #3 of 10 nodelist: 'n1,, n3' expanded: c('n1', 'n3') truth: c('n1', 'n3') SLURM_JOB_NODELIST = 'n1,, n3' SLURM_JOB_CPUS_PER_NODE = '' Warning in availableWorkersSlurm() : Expected either environment variable 'SLURM_JOB_CPUS_PER_NODE' or 'SLURM_TASKS_PER_NODE' to be set. Will assume one core per node. workers: c('n1', 'n3') SLURM_JOB_NODELIST = 'n1,, n3' SLURM_JOB_CPUS_PER_NODE = '1,9' workers: c('n1', 'n3', 'n3', 'n3', 'n3', 'n3', 'n3', 'n3', 'n3', 'n3') workers n1 n3 1 9 expanded2 n1 n3 1 9 - Specification #4 of 10 nodelist: 'n1, n3' expanded: c('n1', 'n3') truth: c('n1', 'n3') SLURM_JOB_NODELIST = 'n1, n3' SLURM_JOB_CPUS_PER_NODE = '' Warning in availableWorkersSlurm() : Expected either environment variable 'SLURM_JOB_CPUS_PER_NODE' or 'SLURM_TASKS_PER_NODE' to be set. Will assume one core per node. workers: c('n1', 'n3') SLURM_JOB_NODELIST = 'n1, n3' SLURM_JOB_CPUS_PER_NODE = '7,8' workers: c('n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n3', 'n3', 'n3', 'n3', 'n3', 'n3', 'n3', 'n3') workers n1 n3 7 8 expanded2 n1 n3 7 8 - Specification #5 of 10 nodelist: 'n3 n1' expanded: c('n3', 'n1') truth: c('n3', 'n1') SLURM_JOB_NODELIST = 'n3 n1' SLURM_JOB_CPUS_PER_NODE = '' Warning in availableWorkersSlurm() : Expected either environment variable 'SLURM_JOB_CPUS_PER_NODE' or 'SLURM_TASKS_PER_NODE' to be set. Will assume one core per node. workers: c('n3', 'n1') SLURM_JOB_NODELIST = 'n3 n1' SLURM_JOB_CPUS_PER_NODE = '9,5' workers: c('n3', 'n3', 'n3', 'n3', 'n3', 'n3', 'n3', 'n3', 'n3', 'n1', 'n1', 'n1', 'n1', 'n1') workers n3 n1 9 5 expanded2 n3 n1 9 5 - Specification #6 of 10 nodelist: 'n[1-13]' expanded: c('n1', 'n2', 'n3', 'n4', 'n5', 'n6', 'n7', 'n8', 'n9', 'n10', 'n11', 'n12', 'n13') truth: c('n1', 'n2', 'n3', 'n4', 'n5', 'n6', 'n7', 'n8', 'n9', 'n10', 'n11', 'n12', 'n13') SLURM_JOB_NODELIST = 'n[1-13]' SLURM_JOB_CPUS_PER_NODE = '' Warning in availableWorkersSlurm() : Expected either environment variable 'SLURM_JOB_CPUS_PER_NODE' or 'SLURM_TASKS_PER_NODE' to be set. Will assume one core per node. workers: c('n1', 'n2', 'n3', 'n4', 'n5', 'n6', 'n7', 'n8', 'n9', 'n10', 'n11', 'n12', 'n13') SLURM_JOB_NODELIST = 'n[1-13]' SLURM_JOB_CPUS_PER_NODE = '5,8,2,9,10,6,8,10,9,3,5,1,4' workers: c('n1', 'n1', 'n1', 'n1', 'n1', 'n2', 'n2', 'n2', 'n2', 'n2', 'n2', 'n2', 'n2', 'n3', 'n3', 'n4', 'n4', 'n4', 'n4', 'n4', 'n4', 'n4', 'n4', 'n4', 'n5', 'n5', 'n5', 'n5', 'n5', 'n5', 'n5', 'n5', 'n5', 'n5', 'n6', 'n6', 'n6', 'n6', 'n6', 'n6', 'n7', 'n7', 'n7', 'n7', 'n7', 'n7', 'n7', 'n7', 'n8', 'n8', 'n8', 'n8', 'n8', 'n8', 'n8', 'n8', 'n8', 'n8', 'n9', 'n9', 'n9', 'n9', 'n9', 'n9', 'n9', 'n9', 'n9', 'n10', 'n10', 'n10', 'n11', 'n11', 'n11', 'n11', 'n11', 'n12', 'n13', 'n13', 'n13', 'n13') workers n1 n2 n3 n4 n5 n6 n7 n8 n9 n10 n11 n12 n13 5 8 2 9 10 6 8 10 9 3 5 1 4 expanded2 n1 n2 n3 n4 n5 n6 n7 n8 n9 n10 n11 n12 n13 5 8 2 9 10 6 8 10 9 3 5 1 4 - Specification #7 of 10 nodelist: 'n[1,3-4, 11-13]' expanded: c('n1', 'n3', 'n4', 'n0011', 'n0012', 'n0013') truth: c('n1', 'n3', 'n4', 'n0011', 'n0012', 'n0013') SLURM_JOB_NODELIST = 'n[1,3-4, 11-13]' SLURM_JOB_CPUS_PER_NODE = '' Warning in availableWorkersSlurm() : Expected either environment variable 'SLURM_JOB_CPUS_PER_NODE' or 'SLURM_TASKS_PER_NODE' to be set. Will assume one core per node. workers: c('n1', 'n3', 'n4', 'n0011', 'n0012', 'n0013') SLURM_JOB_NODELIST = 'n[1,3-4, 11-13]' SLURM_JOB_CPUS_PER_NODE = '4,7,7,3,9,10' workers: c('n1', 'n1', 'n1', 'n1', 'n3', 'n3', 'n3', 'n3', 'n3', 'n3', 'n3', 'n4', 'n4', 'n4', 'n4', 'n4', 'n4', 'n4', 'n0011', 'n0011', 'n0011', 'n0012', 'n0012', 'n0012', 'n0012', 'n0012', 'n0012', 'n0012', 'n0012', 'n0012', 'n0013', 'n0013', 'n0013', 'n0013', 'n0013', 'n0013', 'n0013', 'n0013', 'n0013', 'n0013') workers n1 n3 n4 n0011 n0012 n0013 4 7 7 3 9 10 expanded2 n1 n3 n4 n0011 n0012 n0013 4 7 7 3 9 10 - Specification #8 of 10 nodelist: 'a1,b[ 02-04,6-7]' expanded: c('a1', 'b00002', 'b00003', 'b00004', 'b6', 'b7') truth: c('a1', 'b00002', 'b00003', 'b00004', 'b6', 'b7') SLURM_JOB_NODELIST = 'a1,b[ 02-04,6-7]' SLURM_JOB_CPUS_PER_NODE = '' Warning in availableWorkersSlurm() : Expected either environment variable 'SLURM_JOB_CPUS_PER_NODE' or 'SLURM_TASKS_PER_NODE' to be set. Will assume one core per node. workers: c('a1', 'b00002', 'b00003', 'b00004', 'b6', 'b7') SLURM_JOB_NODELIST = 'a1,b[ 02-04,6-7]' SLURM_JOB_CPUS_PER_NODE = '7,3,3,7,6,6' workers: c('a1', 'a1', 'a1', 'a1', 'a1', 'a1', 'a1', 'b00002', 'b00002', 'b00002', 'b00003', 'b00003', 'b00003', 'b00004', 'b00004', 'b00004', 'b00004', 'b00004', 'b00004', 'b00004', 'b6', 'b6', 'b6', 'b6', 'b6', 'b6', 'b7', 'b7', 'b7', 'b7', 'b7', 'b7') workers a1 b00002 b00003 b00004 b6 b7 7 3 3 7 6 6 expanded2 a1 b00002 b00003 b00004 b6 b7 7 3 3 7 6 6 - Specification #9 of 10 nodelist: 'n1, n1,n1,, n3,n1, n3,n3 n1,n[1-13],n[1,3-4, 11-13],a1,b[ 02-04,6-7]' expanded: c('n1', 'n1', 'n1', 'n3', 'n1', 'n3', 'n3', 'n1', 'n1', 'n2', 'n3', 'n4', 'n5', 'n6', 'n7', 'n8', 'n9', 'n10', 'n11', 'n12', 'n13', 'n1', 'n3', 'n4', 'n0011', 'n0012', 'n0013', 'a1', 'b00002', 'b00003', 'b00004', 'b6', 'b7') truth: c('n1', 'n1', 'n1', 'n3', 'n1', 'n3', 'n3', 'n1', 'n1', 'n2', 'n3', 'n4', 'n5', 'n6', 'n7', 'n8', 'n9', 'n10', 'n11', 'n12', 'n13', 'n1', 'n3', 'n4', 'n0011', 'n0012', 'n0013', 'a1', 'b00002', 'b00003', 'b00004', 'b6', 'b7') SLURM_JOB_NODELIST = 'n1, n1,n1,, n3,n1, n3,n3 n1,n[1-13],n[1,3-4, 11-13],a1,b[ 02-04,6-7]' SLURM_JOB_CPUS_PER_NODE = '' Warning in availableWorkersSlurm() : Expected either environment variable 'SLURM_JOB_CPUS_PER_NODE' or 'SLURM_TASKS_PER_NODE' to be set. Will assume one core per node. workers: c('n1', 'n1', 'n1', 'n3', 'n1', 'n3', 'n3', 'n1', 'n1', 'n2', 'n3', 'n4', 'n5', 'n6', 'n7', 'n8', 'n9', 'n10', 'n11', 'n12', 'n13', 'n1', 'n3', 'n4', 'n0011', 'n0012', 'n0013', 'a1', 'b00002', 'b00003', 'b00004', 'b6', 'b7') SLURM_JOB_NODELIST = 'n1, n1,n1,, n3,n1, n3,n3 n1,n[1-13],n[1,3-4, 11-13],a1,b[ 02-04,6-7]' SLURM_JOB_CPUS_PER_NODE = '10,4,9,5,5,1,8,6,9,6,6,8,5,4,3,5,9,8,10,7,8,10,3,10,3,10,2,4,3,3,10,7,5' workers: c('n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n3', 'n3', 'n3', 'n3', 'n3', 'n1', 'n1', 'n1', 'n1', 'n1', 'n3', 'n3', 'n3', 'n3', 'n3', 'n3', 'n3', 'n3', 'n3', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n2', 'n2', 'n2', 'n2', 'n2', 'n2', 'n3', 'n3', 'n3', 'n3', 'n3', 'n3', 'n4', 'n4', 'n4', 'n4', 'n4', 'n4', 'n4', 'n4', 'n5', 'n5', 'n5', 'n5', 'n5', 'n6', 'n6', 'n6', 'n6', 'n7', 'n7', 'n7', 'n8', 'n8', 'n8', 'n8', 'n8', 'n9', 'n9', 'n9', 'n9', 'n9', 'n9', 'n9', 'n9', 'n9', 'n10', 'n10', 'n10', 'n10', 'n10', 'n10', 'n10', 'n10', 'n11', 'n11', 'n11', 'n11', 'n11', 'n11', 'n11', 'n11', 'n11', 'n11', 'n12', 'n12', 'n12', 'n12', 'n12', 'n12', 'n12', 'n13', 'n13', 'n13', 'n13', 'n13', 'n13', 'n13', 'n13', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n3', 'n3', 'n3', 'n4', 'n4', 'n4', 'n4', 'n4', 'n4', 'n4', 'n4', 'n4', 'n4', 'n0011', 'n0011', 'n0011', 'n0012', 'n0012', 'n0012', 'n0012', 'n0012', 'n0012', 'n0012', 'n0012', 'n0012', 'n0012', 'n0013', 'n0013', 'a1', 'a1', 'a1', 'a1', 'b00002', 'b00002', 'b00002', 'b00003', 'b00003', 'b00003', 'b00004', 'b00004', 'b00004', 'b00004', 'b00004', 'b00004', 'b00004', 'b00004', 'b00004', 'b00004', 'b6', 'b6', 'b6', 'b6', 'b6', 'b6', 'b6', 'b7', 'b7', 'b7', 'b7', 'b7') workers n1 n3 n2 n4 n5 n6 n7 n8 n9 n10 n11 53 23 6 18 5 4 3 5 9 8 10 n12 n13 n0011 n0012 n0013 a1 b00002 b00003 b00004 b6 b7 7 8 3 10 2 4 3 3 10 7 5 expanded2 n1 n3 n2 n4 n5 n6 n7 n8 n9 n10 n11 53 23 6 18 5 4 3 5 9 8 10 n12 n13 n0011 n0012 n0013 a1 b00002 b00003 b00004 b6 b7 7 8 3 10 2 4 3 3 10 7 5 - Specification #10 of 10 nodelist: 'n1, n1,n1,, n3,n1, n3,n3 n1,n[1-13],n[1,3-4, 11-13],a1,b[ 02-04,6-7],a1,b[ 02-04,6-7],n[1,3-4, 11-13],n[1-13],n3 n1,n1, n3,n1,, n3, n1,n1' expanded: c('n1', 'n1', 'n1', 'n3', 'n1', 'n3', 'n3', 'n1', 'n1', 'n2', 'n3', 'n4', 'n5', 'n6', 'n7', 'n8', 'n9', 'n10', 'n11', 'n12', 'n13', 'n1', 'n3', 'n4', 'n0011', 'n0012', 'n0013', 'a1', 'b00002', 'b00003', 'b00004', 'b6', 'b7', 'a1', 'b00002', 'b00003', 'b00004', 'b6', 'b7', 'n1', 'n3', 'n4', 'n0011', 'n0012', 'n0013', 'n1', 'n2', 'n3', 'n4', 'n5', 'n6', 'n7', 'n8', 'n9', 'n10', 'n11', 'n12', 'n13', 'n3', 'n1', 'n1', 'n3', 'n1', 'n3', 'n1', 'n1') truth: c('n1', 'n1', 'n1', 'n3', 'n1', 'n3', 'n3', 'n1', 'n1', 'n2', 'n3', 'n4', 'n5', 'n6', 'n7', 'n8', 'n9', 'n10', 'n11', 'n12', 'n13', 'n1', 'n3', 'n4', 'n0011', 'n0012', 'n0013', 'a1', 'b00002', 'b00003', 'b00004', 'b6', 'b7', 'a1', 'b00002', 'b00003', 'b00004', 'b6', 'b7', 'n1', 'n3', 'n4', 'n0011', 'n0012', 'n0013', 'n1', 'n2', 'n3', 'n4', 'n5', 'n6', 'n7', 'n8', 'n9', 'n10', 'n11', 'n12', 'n13', 'n3', 'n1', 'n1', 'n3', 'n1', 'n3', 'n1', 'n1') SLURM_JOB_NODELIST = 'n1, n1,n1,, n3,n1, n3,n3 n1,n[1-13],n[1,3-4, 11-13],a1,b[ 02-04,6-7],a1,b[ 02-04,6-7],n[1,3-4, 11-13],n[1-13],n3 n1,n1, n3,n1,, n3, n1,n1' SLURM_JOB_CPUS_PER_NODE = '' Warning in availableWorkersSlurm() : Expected either environment variable 'SLURM_JOB_CPUS_PER_NODE' or 'SLURM_TASKS_PER_NODE' to be set. Will assume one core per node. workers: c('n1', 'n1', 'n1', 'n3', 'n1', 'n3', 'n3', 'n1', 'n1', 'n2', 'n3', 'n4', 'n5', 'n6', 'n7', 'n8', 'n9', 'n10', 'n11', 'n12', 'n13', 'n1', 'n3', 'n4', 'n0011', 'n0012', 'n0013', 'a1', 'b00002', 'b00003', 'b00004', 'b6', 'b7', 'a1', 'b00002', 'b00003', 'b00004', 'b6', 'b7', 'n1', 'n3', 'n4', 'n0011', 'n0012', 'n0013', 'n1', 'n2', 'n3', 'n4', 'n5', 'n6', 'n7', 'n8', 'n9', 'n10', 'n11', 'n12', 'n13', 'n3', 'n1', 'n1', 'n3', 'n1', 'n3', 'n1', 'n1') SLURM_JOB_NODELIST = 'n1, n1,n1,, n3,n1, n3,n3 n1,n[1-13],n[1,3-4, 11-13],a1,b[ 02-04,6-7],a1,b[ 02-04,6-7],n[1,3-4, 11-13],n[1-13],n3 n1,n1, n3,n1,, n3, n1,n1' SLURM_JOB_CPUS_PER_NODE = '3,8,8,10,10,6,6,3,9,3,3,9,9,4,6,9,8,9,2,7,8,10,7,2,8,7,6,9,1,3,8,8,10,9,10,3,10,6,10,2,7,2,8,2,9,7,6,3,1,6,7,8,9,2,8,10,8,8,9,10,9,9,8,6,6,10' workers: c('n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n3', 'n3', 'n3', 'n3', 'n3', 'n3', 'n3', 'n3', 'n3', 'n3', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n3', 'n3', 'n3', 'n3', 'n3', 'n3', 'n3', 'n3', 'n3', 'n3', 'n3', 'n3', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n2', 'n2', 'n2', 'n3', 'n3', 'n3', 'n4', 'n4', 'n4', 'n4', 'n4', 'n4', 'n4', 'n4', 'n4', 'n5', 'n5', 'n5', 'n5', 'n5', 'n5', 'n5', 'n5', 'n5', 'n6', 'n6', 'n6', 'n6', 'n7', 'n7', 'n7', 'n7', 'n7', 'n7', 'n8', 'n8', 'n8', 'n8', 'n8', 'n8', 'n8', 'n8', 'n8', 'n9', 'n9', 'n9', 'n9', 'n9', 'n9', 'n9', 'n9', 'n10', 'n10', 'n10', 'n10', 'n10', 'n10', 'n10', 'n10', 'n10', 'n11', 'n11', 'n12', 'n12', 'n12', 'n12', 'n12', 'n12', 'n12', 'n13', 'n13', 'n13', 'n13', 'n13', 'n13', 'n13', 'n13', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n3', 'n3', 'n3', 'n3', 'n3', 'n3', 'n3', 'n4', 'n4', 'n0011', 'n0011', 'n0011', 'n0011', 'n0011', 'n0011', 'n0011', 'n0011', 'n0012', 'n0012', 'n0012', 'n0012', 'n0012', 'n0012', 'n0012', 'n0013', 'n0013', 'n0013', 'n0013', 'n0013', 'n0013', 'a1', 'a1', 'a1', 'a1', 'a1', 'a1', 'a1', 'a1', 'a1', 'b00002', 'b00003', 'b00003', 'b00003', 'b00004', 'b00004', 'b00004', 'b00004', 'b00004', 'b00004', 'b00004', 'b00004', 'b6', 'b6', 'b6', 'b6', 'b6', 'b6', 'b6', 'b6', 'b7', 'b7', 'b7', 'b7', 'b7', 'b7', 'b7', 'b7', 'b7', 'b7', 'a1', 'a1', 'a1', 'a1', 'a1', 'a1', 'a1', 'a1', 'a1', 'b00002', 'b00002', 'b00002', 'b00002', 'b00002', 'b00002', 'b00002', 'b00002', 'b00002', 'b00002', 'b00003', 'b00003', 'b00003', 'b00004', 'b00004', 'b00004', 'b00004', 'b00004', 'b00004', 'b00004', 'b00004', 'b00004', 'b00004', 'b6', 'b6', 'b6', 'b6', 'b6', 'b6', 'b7', 'b7', 'b7', 'b7', 'b7', 'b7', 'b7', 'b7', 'b7', 'b7', 'n1', 'n1', 'n3', 'n3', 'n3', 'n3', 'n3', 'n3', 'n3', 'n4', 'n4', 'n0011', 'n0011', 'n0011', 'n0011', 'n0011', 'n0011', 'n0011', 'n0011', 'n0012', 'n0012', 'n0013', 'n0013', 'n0013', 'n0013', 'n0013', 'n0013', 'n0013', 'n0013', 'n0013', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n2', 'n2', 'n2', 'n2', 'n2', 'n2', 'n3', 'n3', 'n3', 'n4', 'n5', 'n5', 'n5', 'n5', 'n5', 'n5', 'n6', 'n6', 'n6', 'n6', 'n6', 'n6', 'n6', 'n7', 'n7', 'n7', 'n7', 'n7', 'n7', 'n7', 'n7', 'n8', 'n8', 'n8', 'n8', 'n8', 'n8', 'n8', 'n8', 'n8', 'n9', 'n9', 'n10', 'n10', 'n10', 'n10', 'n10', 'n10', 'n10', 'n10', 'n11', 'n11', 'n11', 'n11', 'n11', 'n11', 'n11', 'n11', 'n11', 'n11', 'n12', 'n12', 'n12', 'n12', 'n12', 'n12', 'n12', 'n12', 'n13', 'n13', 'n13', 'n13', 'n13', 'n13', 'n13', 'n13', 'n3', 'n3', 'n3', 'n3', 'n3', 'n3', 'n3', 'n3', 'n3', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n3', 'n3', 'n3', 'n3', 'n3', 'n3', 'n3', 'n3', 'n3', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n3', 'n3', 'n3', 'n3', 'n3', 'n3', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1', 'n1') workers n1 n3 n2 n4 n5 n6 n7 n8 n9 n10 n11 103 66 9 14 15 11 14 18 10 17 12 n12 n13 n0011 n0012 n0013 a1 b00002 b00003 b00004 b6 b7 15 16 16 9 15 18 11 6 18 14 20 expanded2 n1 n3 n2 n4 n5 n6 n7 n8 n9 n10 n11 103 66 9 14 15 11 14 18 10 17 12 n12 n13 n0011 n0012 n0013 a1 b00002 b00003 b00004 b6 b7 15 16 16 9 15 18 11 6 18 14 20 > message("*** Slurm w/ SLURM_JOB_NODELIST ... DONE") *** Slurm w/ SLURM_JOB_NODELIST ... DONE > message("*** Slurm w/ SLURM_TASKS_PER_NODE ...") *** Slurm w/ SLURM_TASKS_PER_NODE ... > slurm_expand_nodecounts <- parallelly:::slurm_expand_nodecounts > specs <- list(`1` = c(1), `1,3` = c(1, 3), `1, 3` = c(1, + 3), `2(x3)` = rep(2, times = 3), `2(x3),3,4(x1)` = c(rep(2, + times = 3), 3, 4) .... [TRUNCATED] > for (kk in seq_along(specs)) { + message(sprintf("- Specification #%d of %d", kk, length(specs))) + nodecounts <- names(specs)[kk] + tru .... [TRUNCATED] - Specification #1 of 5 nodecounts: '1' expanded: c('1') truth: c('1') - Specification #2 of 5 nodecounts: '1,3' expanded: c('1', '3') truth: c('1', '3') - Specification #3 of 5 nodecounts: '1, 3' expanded: c('1', '3') truth: c('1', '3') - Specification #4 of 5 nodecounts: '2(x3)' expanded: c('2', '2', '2') truth: c('2', '2', '2') - Specification #5 of 5 nodecounts: '2(x3),3,4(x1)' expanded: c('2', '2', '2', '3', '4') truth: c('2', '2', '2', '3', '4') > message("*** Slurm w/ SLURM_TASKS_PER_NODE ... DONE") *** Slurm w/ SLURM_TASKS_PER_NODE ... DONE > message("*** HPC related ... DONE") *** HPC related ... DONE > print(availableWorkers(methods = c("width", "FOO_BAR_ENV"), + na.rm = FALSE, which = "all")) $width [1] "80" $FOO_BAR_ENV character(0) > Sys.setenv(FOO_BAR_ENV = "0") > res <- tryCatch(availableWorkers(methods = "FOO_BAR_ENV"), + error = identity) > stopifnot(inherits(res, "error")) > message("*** availableWorkers() ... DONE") *** availableWorkers() ... DONE Sourcing 4 epilogue scripts ... 01/04 epilogue script 'D:/RCompile/CRANincoming/R-devel/lib/parallelly/testme/_epilogue/002.undo-state.R' Failed to undo environment variables: - Expected environment variables: [n=213] '!ExitCode', 'ALLUSERSPROFILE', 'APPDATA', 'BIBINPUTS', 'BINDIR', 'BSTINPUTS', 'COMMONPROGRAMFILES', 'COMPUTERNAME', 'COMSPEC', 'CURL_CA_BUNDLE', 'CYGWIN', 'CommonProgramFiles(x86)', 'CommonProgramW6432', 'DriverData', 'HOME', 'HOMEDRIVE', 'HOMEPATH', 'JAGS_ROOT', 'JAVA_HOME', 'LANGUAGE', 'LC_COLLATE', 'LC_MONETARY', 'LC_TIME', 'LOCALAPPDATA', 'LOGONSERVER', 'LS_HOME', 'LS_LICENSE_PATH', 'MAKE', 'MAKEFLAGS', 'MAKELEVEL', 'MFLAGS', 'MSMPI_BENCHMARKS', 'MSMPI_BIN', 'MSYS2_ENV_CONV_EXCL', 'NUMBER_OF_PROCESSORS', 'OCL', 'OMP_THREAD_LIMIT', 'OS', 'PATH', 'PATHEXT', 'PROCESSOR_ARCHITECTURE', 'PROCESSOR_IDENTIFIER', 'PROCESSOR_LEVEL', 'PROCESSOR_REVISION', 'PROGRAMFILES', 'PROMPT', 'PSModulePath', 'PUBLIC', 'PWD', 'ProgramData', 'ProgramFiles(x86)', 'ProgramW6432', 'RTOOLS44_HOME', 'RTOOLS45_HOME', 'R_ARCH', 'R_BROWSER', 'R_BZIPCMD', 'R_CMD', 'R_COMPILED_BY', 'R_CRAN_WEB', 'R_CUSTOM_TOOLS_PATH', 'R_CUSTOM_TOOLS_SOFT', 'R_DOC_DIR', 'R_ENVIRON_USER', 'R_GSCMD', 'R_GZIPCMD', 'R_HOME', 'R_INCLUDE_DIR', 'R_INSTALL_TAR', 'R_LIBS', 'R_LIBS_SITE', 'R_LIBS_USER', 'R_MAX_NUM_DLLS', 'R_OSTYPE', 'R_PAPERSIZE', 'R_PAPERSIZE_USER', 'R_PARALLELLY_MAKENODEPSOCK_AUTOKILL', 'R_PARALLELLY_MAKENODEPSOCK_CONNECTTIMEOUT', 'R_PARALLELLY_MAKENODEPSOCK_RSCRIPT_LABEL', 'R_PARALLELLY_MAKENODEPSOCK_SESSIONINFO_PKGS', 'R_PARALLELLY_MAKENODEPSOCK_TIMEOUT', 'R_PARALLELLY_RANDOM_PORTS', 'R_PARALLEL_PORT', 'R_RD4PDF', 'R_RTOOLS45_PATH', 'R_SCRIPT_LEGACY', 'R_SHARE_DIR', 'R_TESTME_NAME', 'R_TESTME_PACKAGE', 'R_TESTME_PATH', 'R_TESTS', 'R_UNZIPCMD', 'R_USER', 'R_VERSION', 'R_ZIPCMD', 'SED', 'SHLVL', 'SYSTEMDRIVE', 'SYSTEMROOT', 'TAR', 'TAR_OPTIONS', 'TEMP', 'TERM', 'TEXINPUTS', 'TMP', 'TMPDIR', 'USERDOMAIN', 'USERDOMAIN_ROAMINGPROFILE', 'USERNAME', 'USERPROFILE', 'WINDIR', '_', '_R_CHECK_AUTOCONF_', '_R_CHECK_BOGUS_RETURN_', '_R_CHECK_BROWSER_NONINTERACTIVE_', '_R_CHECK_BUILD_VIGNETTES_SEPARATELY_', '_R_CHECK_CODETOOLS_PROFILE_', '_R_CHECK_CODE_ASSIGN_TO_GLOBALENV_', '_R_CHECK_CODE_ATTACH_', '_R_CHECK_CODE_CLASS_IS_STRING_', '_R_CHECK_CODE_DATA_INTO_GLOBALENV_', '_R_CHECK_CODE_USAGE_VIA_NAMESPACES_', '_R_CHECK_CODE_USAGE_WITHOUT_LOADING_', '_R_CHECK_CODE_USAGE_WITH_ONLY_BASE_ATTACHED_', '_R_CHECK_CODOC_VARIABLES_IN_USAGES_', '_R_CHECK_COMPACT_DATA2_', '_R_CHECK_COMPILATION_FLAGS_', '_R_CHECK_CONNECTIONS_LEFT_OPEN_', '_R_CHECK_CRAN_INCOMING_', '_R_CHECK_CRAN_INCOMING_ASPELL_RECHECK_MAYBE_', '_R_CHECK_CRAN_INCOMING_ASPELL_RECHECK_START_', '_R_CHECK_CRAN_INCOMING_CHECK_FILE_URIS_', '_R_CHECK_CRAN_INCOMING_CHECK_URLS_IN_PARALLEL_', '_R_CHECK_CRAN_INCOMING_NOTE_GNU_MAKE_', '_R_CHECK_CRAN_INCOMING_REMOTE_', '_R_CHECK_CRAN_INCOMING_USE_ASPELL_', '_R_CHECK_DATALIST_', '_R_CHECK_DEPRECATED_DEFUNCT_', '_R_CHECK_DOC_SIZES2_', '_R_CHECK_DOT_FIRSTLIB_', '_R_CHECK_DOT_INTERNAL_', '_R_CHECK_EXAMPLE_TIMING_THRESHOLD_', '_R_CHECK_EXECUTABLES_', '_R_CHECK_EXECUTABLES_EXCLUSIONS_', '_R_CHECK_FF_CALLS_', '_R_CHECK_FF_DUP_', '_R_CHECK_FORCE_SUGGESTS_', '_R_CHECK_FUTURE_FILE_TIMESTAMPS_', '_R_CHECK_FUTURE_FILE_TIMESTAMPS_LEEWAY_', '_R_CHECK_HAVE_MYSQL_', '_R_CHECK_HAVE_ODBC_', '_R_CHECK_HAVE_PERL_', '_R_CHECK_HAVE_POSTGRES_', '_R_CHECK_INSTALL_DEPENDS_', '_R_CHECK_INTERNALS2_', '_R_CHECK_LENGTH_1_CONDITION_', '_R_CHECK_LICENSE_', '_R_CHECK_LIMIT_CORES_', '_R_CHECK_LOG_USE_INFO_', '_R_CHECK_MATRIX_DATA_', '_R_CHECK_MBCS_CONVERSION_FAILURE_', '_R_CHECK_NATIVE_ROUTINE_REGISTRATION_', '_R_CHECK_NEWS_IN_PLAIN_TEXT_', '_R_CHECK_NO_RECOMMENDED_', '_R_CHECK_NO_STOP_ON_TEST_ERROR_', '_R_CHECK_ORPHANED_', '_R_CHECK_OVERWRITE_REGISTERED_S3_METHODS_', '_R_CHECK_PACKAGES_USED_IGNORE_UNUSED_IMPORTS_', '_R_CHECK_PACKAGES_USED_IN_TESTS_USE_SUBDIRS_', '_R_CHECK_PACKAGE_DATASETS_SUPPRESS_NOTES_', '_R_CHECK_PACKAGE_NAME_', '_R_CHECK_PKG_SIZES_', '_R_CHECK_PKG_SIZES_THRESHOLD_', '_R_CHECK_PRAGMAS_', '_R_CHECK_RD_EXAMPLES_T_AND_F_', '_R_CHECK_RD_LINE_WIDTHS_', '_R_CHECK_RD_MATH_RENDERING_', '_R_CHECK_RD_NOTE_LOST_BRACES_', '_R_CHECK_RD_VALIDATE_RD2HTML_', '_R_CHECK_REPLACING_IMPORTS_', '_R_CHECK_R_DEPENDS_', '_R_CHECK_S3_METHODS_SHOW_POSSIBLE_ISSUES_', '_R_CHECK_SCREEN_DEVICE_', '_R_CHECK_SERIALIZATION_', '_R_CHECK_SHLIB_OPENMP_FLAGS_', '_R_CHECK_SRC_MINUS_W_IMPLICIT_', '_R_CHECK_SUBDIRS_NOCASE_', '_R_CHECK_SUGGESTS_ONLY_', '_R_CHECK_SYSTEM_CLOCK_', '_R_CHECK_TESTS_NLINES_', '_R_CHECK_TEST_TIMING_', '_R_CHECK_TIMINGS_', '_R_CHECK_TOPLEVEL_FILES_', '_R_CHECK_UNDOC_USE_ALL_NAMES_', '_R_CHECK_UNSAFE_CALLS_', '_R_CHECK_URLS_SHOW_301_STATUS_', '_R_CHECK_VC_DIRS_', '_R_CHECK_VIGNETTES_NLINES_', '_R_CHECK_VIGNETTES_SKIP_RUN_MAYBE_', '_R_CHECK_VIGNETTE_TIMING_', '_R_CHECK_VIGNETTE_TITLES_', '_R_CHECK_WINDOWS_DEVICE_', '_R_CHECK_XREFS_NOTE_MISSING_PACKAGE_ANCHORS_', '_R_CHECK_XREFS_USE_ALIASES_FROM_CRAN_', '_R_CLASS_MATRIX_ARRAY_', '_R_DEPRECATED_IS_R_', '_R_S3_METHOD_LOOKUP_BASEENV_AFTER_GLOBALENV_', '_R_SHLIB_BUILD_OBJECTS_SYMBOL_TABLES_', '_R_USE_STRICT_R_HEADERS_', '__R_CHECK_DOC_FILES_NOTE_IF_ALL_SPECIAL__', 'maj.version', 'nextArg--timingsnextArg--install', 'tempdirname' - Environment variables still there: [n=0] - Environment variables missing: [n=1] 'MAKEFLAGS' Differences environment variable by environment variable: 02/04 epilogue script 'D:/RCompile/CRANincoming/R-devel/lib/parallelly/testme/_epilogue/090.gc.R' 03/04 epilogue script 'D:/RCompile/CRANincoming/R-devel/lib/parallelly/testme/_epilogue/099.session_info.R' 04/04 epilogue script 'D:/RCompile/CRANincoming/R-devel/lib/parallelly/testme/_epilogue/999.detritus.R' Looking for detritus files generated by test 'tempdirname': Skipping, because path appears not to be an 'R CMD check' folder: 'D:/temp/2025_03_24_09_05_16_18447' Sourcing 4 epilogue scripts ... done Test time: user.self=0.3s, sys.self=0.03s, elapsed=0.3s, user.child=NAs, sys.child=NAs Test 'tempdirname' ... success > > proc.time() user system elapsed 0.48 0.15 0.60