source("incl/start.R") library("listenv") message("*** Globals w/ non-standard evaluation (NSE) ...") data <- data.frame(x = 1:5, y = 1:5) v0 <- subset(data, x < 3)$y for (strategy in supportedStrategies()) { ## Speed up CRAN checks: Skip on CRAN Windows 32-bit if (!fullTest && isWin32) next message(sprintf("- Strategy: %s ...", strategy)) plan(strategy) ## Assert option is passed on to future options(future.globals.onMissing = "error") opt1 %<-% getOption("future.globals.onMissing") stopifnot(identical(opt1, "error")) options(future.globals.onMissing = "ignore") opt2 %<-% getOption("future.globals.onMissing") stopifnot(identical(opt2, "ignore")) options(future.globals.onMissing = "error") res <- try({ v1 %<-% subset(data, x < 3)$y }, silent = TRUE) stopifnot(inherits(res, "try-error")) options(future.globals.onMissing = "ignore") v2 %<-% subset(data, x < 3)$y stopifnot(identical(v2, v0)) ## Nested futures (requires option is passed on to future) plan(list(sequential, strategy)) options(future.globals.onMissing = "ignore") v3 %<-% { a %<-% subset(data, x < 3)$y a } %lazy% TRUE stopifnot(identical(v3, v0)) ## Make sure to shut down nested parallel workers void %<-% { plan(sequential) } print(void) message(sprintf("- Strategy: %s ... DONE", strategy)) } message("*** Globals w/ non-standard evaluation (NSE) ... DONE") source("incl/end.R")