Running '000.sessionDetails.R' [1s]
  Running 'ClusterRegistry.R' [4s]
  Running 'Future-class.R' [2s]
  Running 'FutureError.R' [1s]
  Running 'FutureGlobals.R' [1s]
  Running 'FutureRegistry.R' [1s]
  Running 'adhoc_native_to_utf8.R' [1s]
  Running 'backtrace.R' [6s]
  Running 'bquote.R' [1s]
  Running 'cluster,worker-termination.R' [2s]
  Running 'cluster-missing-future-pkg.R' [2s]
  Running 'cluster.R' [8s]
  Running 'constant.R' [1s]
  Running 'demo.R' [15s]
  Running 'dotdotdot.R' [3s]
  Running 'early-signaling.R' [5s]
  Running 'future,labels.R' [3s]
  Running 'future,optsenvvars.R' [2s]
  Running 'future.R' [1s]
  Running 'futureAssign.R' [3s]
  Running 'futureAssign_OP.R' [4s]
  Running 'futureAssign_OP_with_environment.R' [1s]
  Running 'futureAssign_OP_with_listenv.R' [1s]
  Running 'futureCall.R' [4s]
  Running 'futureOf.R' [1s]
  Running 'futureOf_with_environment.R' [1s]
  Running 'futureOf_with_listenv.R' [1s]
  Running 'futureSessionInfo.R' [1s]
  Running 'futures.R' [11s]
  Running 'globals,NSE.R' [4s]
  Running 'globals,S4methods.R' [3s]
  Running 'globals,formulas.R' [4s]
  Running 'globals,locals.R' [2s]
  Running 'globals,manual.R' [0s]
  Running 'globals,resolve.R' [0s]
  Running 'globals,subassignment.R' [4s]
  Running 'globals,toolarge.R' [2s]
  Running 'globals,tricky.R' [8s]
  Running 'globals,tricky_recursive.R' [3s]
  Running 'globalsOf,tweaks.R' [1s]
  Running 'immediateCondition.R' [5s]
  Running 'invalid-owner.R' [3s]
  Running 'mandelbrot.R' [1s]
  Running 'mpi.R' [1s]
  Running 'multicore,multithreading.R' [1s]
  Running 'multicore,worker-termination.R' [1s]
  Running 'multicore.R' [2s]
  Running 'multiprocess.R' [4s]
  Running 'multisession.R' [6s]
  Running 'nbrOfWorkers.R' [5s]
  Running 'nested_futures,mc.cores.R' [6s]
  Running 'nested_futures.R' [6s]
  Running 'non-exportable,connections.R' [3s]
  Running 'objectSize.R' [1s]
  Running 'plan.R' [4s]
  Running 'relaying,muffle.R' [1s]
  Running 'relaying,split.R' [1s]
  Running 'relaying.R' [6s]
  Running 'remote.R' [1s]
  Running 'requestCore.R' [1s]
  Running 'requestNode.R' [8s]
  Running 'reserved-keyword-functions.R' [2s]
  Running 'resolve.R' [25s]
  Running 'resolved-non-blocking-test.R' [13s]
  Running 'rng.R' [12s]
  Running 'rng_utils.R' [1s]
  Running 'sequential.R' [1s]
  Running 'sessionDetails.R' [1s]
  Running 'startup.R' [5s]
  Running 'stdout.R' [3s]
  Running 'transparent.R' [1s]
  Running 'tweak.R' [2s]
  Running 'utils.R' [6s]
  Running 'uuid.R' [1s]
  Running 'whichIndex.R' [1s]
Running the tests in 'tests/globals,locals.R' failed.
Complete output:
  > source("incl/start.R")
  [09:17:17.786] plan(): Setting new future strategy stack:
  [09:17:17.790] List of future strategies:
  [09:17:17.790] 1. sequential:
  [09:17:17.790]    - args: function (..., envir = parent.frame())
  [09:17:17.790]    - tweaked: FALSE
  [09:17:17.790]    - call: future::plan("sequential")
  [09:17:17.839] plan(): nbrOfWorkers() = 1
  > library("listenv")
  > oopts <- c(oopts, options(
  +   future.debug = FALSE
  + ))
  > 
  > message("*** Globals inside local() environments ...")
  *** Globals inside local() environments ...
  > 
  > for (strategy in supportedStrategies()) {
  +   message(sprintf("- plan('%s') ...", strategy))
  +   plan(strategy)
  + 
  +   message("- Missing global variable")
  +   g <- function() a
  +   h <- function() {
  +     a <- 1
  +     g()
  +   }
  +   res <- tryCatch({
  +     f <- future(h())
  +     v <- value(f)
  +   }, error = identity)
  +   stopifnot(inherits(res, "error"))
  + 
  +   message("- Missing global variable (v2)")
  +   g <- function() a
  +   h <- function(g) {
  +     a <- 1
  +     g()
  +   }
  +   res <- tryCatch({
  +     f <- future(h(g))
  +     v <- value(f)
  +   }, error = identity)
  +   stopifnot(inherits(res, "error"))
  + 
  +   message("- Missing global variable (v3)")
  +   g <- function() a
  +   res <- tryCatch({
  +     f <- future(local({
  +       a <- 1
  +       g()
  +     }))
  +     v <- value(f)
  +   }, error = identity)
  +   stopifnot(inherits(res, "error"))
  + 
  +   message("- Non-missing global variable")
  +   a <- 2
  +   g <- function() a
  +   f <- future(local({
  +     a <- 1
  +     g()
  +   }), lazy = TRUE)
  +   rm(list = "a")
  + 
  +   if (isTRUE(as.logical(Sys.getenv("R_CHECK_IDEAL")))) {
  +     v <- value(f)
  +     stopifnot(v == 2)
  +   } else {
  +     if (packageVersion("future") > "1.25.0-9017") {
  +       v <- value(f)
  +       stopifnot(v == 2)
  +     } else {
  +       res <- tryCatch(v <- value(f), error = identity)
  +       print(res)
  +       stopifnot(inherits(res, "error"))
  +     }
  +   }
  + 
  + 
  +   message("- Non-missing global variable (inside local())")
  +   ## FIXME: This works and fails in non-expected ways /HB 2022-05-26
  +   local({
  +     a <- 2
  +     g <- function() a
  +     f <- future(local({
  +       a <- 1
  +       g()
  +     }), lazy = TRUE)
  +     rm(list = "a")
  + 
  +     truth <- 2
  +     message("truth: ", truth)
  +     
  +     res <- tryCatch({ v <- value(f) }, error = identity)
  +     print(res)
  +     
  +     if (isTRUE(as.logical(Sys.getenv("R_CHECK_IDEAL")))) {
  +       stopifnot(identical(v, truth))
  +     } else if (isTRUE(getOption("future.globals.keepWhere", FALSE))) {
  +       if (isTRUE(getOption("future.globals.globalsOf.locals", TRUE))) {
  +         if (strategy %in% c("sequential", "multicore")) {
  +           stopifnot(inherits(res, "error"))
  +         } else {
  +           stopifnot(identical(v, truth))
  +         }
  +       } else {
  +         stopifnot(identical(v, truth))
  +       }
  +     } else {
  +       stopifnot(identical(v, truth))
  +     }
  +   })
  + 
  + 
  +   message("- Name clashing of globals across local() environments")
  + 
  +   ## Closures with local globals of the same name
  +   g <- local({ a <- 2; function() a })
  +   h <- local({ a <- 1; function() a })
  +   truth <- g() + h()
  +   message("truth: ", truth)
  + 
  +   ## FIXME: This works and fails in non-expected ways /HB 2022-05-26
  +   ## With:
  +   ##
  +   ##   f <- future(g() + h())
  +   ##
  +   ## there is a risk that global 'a' of g() overwrites global 'a' of h(),
  +   ## resulting in h() == 2, rather than h() == 1. Vice versa, with:
  +   ##
  +   ##   f <- future(h() + g())
  +   ##
  +   ## 'a' of h() might overwride 'a' of g() so that g() == 1.
  +   ## This has to be fixed.
  +   ##
  +   ## See also https://github.com/HenrikBengtsson/future/issues/608
  +   
  +   f <- future(g() + h())
  +   v <- tryCatch(value(f), error = identity)
  + 
  +   utils::str(list(strategy = strategy, v = v))
  +   
  +   if (isTRUE(as.logical(Sys.getenv("R_CHECK_IDEAL")))) {
  +     stopifnot(identical(v, truth))
  +   } else if (isTRUE(getOption("future.globals.keepWhere", FALSE))) {
  +     if (isTRUE(getOption("future.globals.globalsOf.locals", TRUE))) {
  +       stopifnot(identical(v, truth))
  +     } else {
  +       stopifnot(identical(v, truth))
  +     }
  +   } else {
  +     if (isTRUE(getOption("future.globals.globalsOf.locals", TRUE))) {
  +       if (strategy %in% c("sequential", "multicore")) {
  +         stopifnot(identical(v, 4))    ## <= SERIOUS BUG!
  +       } else {
  +         stopifnot(identical(v, truth))
  +       }
  +     } else {
  +       if (strategy %in% c("sequential", "multicore")) {
  +         stopifnot(inherits(v, "error"))
  +       } else {
  +         stopifnot(identical(v, truth))
  +       }
  +     }
  +   }
  + } ## for (strategy ...)
  - plan('sequential') ...
  - Missing global variable
  - Missing global variable (v2)
  - Missing global variable (v3)
  - Non-missing global variable
  - Non-missing global variable (inside local())
  truth: 2
  [1] 2
  - Name clashing of globals across local() environments
  truth: 3
  List of 2
   $ strategy: chr "sequential"
   $ v       : num 4
  - plan('multisession') ...
  Warning in system2(bin, args = "--version", stdout = TRUE, stderr = TRUE) :
    running command '"D:/RCompile/recent/R/bin/x64/Rscript.exe" --version' had status 301
  Error in assert_system_is_supported() : 
  Calls: plan ... makeNode -> useWorkerPID -> assert_system_is_supported
  Execution halted
Running the tests in 'tests/globals,manual.R' failed.
Complete output:
  
Running the tests in 'tests/globals,resolve.R' failed.
Complete output: