source("incl/start.R")
getOption2 <- parallelly:::getOption2
getEnvVar2 <- parallelly:::getEnvVar2
options(parallelly.some.option = NULL)
options(parallelly.some.option = NULL)
Sys.unsetenv("R_FUTURE_SOME_ENVVAR")
Sys.unsetenv("R_PARALLELLY_SOME_ENVVAR")
message("*** Options and environment variables ...")
showall <- function() {
utils::str(list(
future.some.setting = getOption("future.some.setting", NULL),
parallelly.some.setting = getOption("parallelly.some.setting", NULL),
R_FUTURE_SOME_SETTING = Sys.getenv("R_FUTURE_SOME_SETTING", ""),
R_PARALLELLY_SOME_SETTING = Sys.getenv("R_PARALLELLY_SOME_SETTING", "")
))
}
for (what in c("option", "envvar")) {
if (what == "option") {
setvalue <- function(name, value) {
name <- sprintf("%s.some.setting", tolower(name))
if (is.null(value)) {
args <- list(NULL)
} else {
args <- as.list(value)
}
names(args) <- name
do.call(options, args = args)
class(args) <- "option"
args
}
} else if (what == "envvar") {
setvalue <- function(name, value) {
name <- sprintf("R_%s_SOME_SETTING", toupper(name))
if (is.null(value)) {
Sys.unsetenv(name)
args <- list(NULL)
names(args) <- name
} else {
args <- as.list(value)
names(args) <- name
do.call(Sys.setenv, args = args)
}
class(args) <- "envvar"
args
}
}
for (name in c("future", "parallelly")) {
for (value0 in list(NULL, TRUE)) {
args <- setvalue(name, value0)
stopifnot(inherits(args, what))
showall()
if (is.null(value0)) {
message("- getOption2()")
value <- getOption2("future.some.setting", NA)
stopifnot(is.na(value))
value <- getOption2("parallelly.some.setting", NA)
stopifnot(is.na(value))
message("- getEnvVar2()")
value <- getEnvVar2("R_FUTURE_SOME_ENVVAR", NA)
stopifnot(is.na(value))
value <- getEnvVar2("R_PARALLELLY_SOME_ENVVAR", NA)
stopifnot(is.na(value))
} else if (isTRUE(value0)) {
if (what == "option") {
message("- getOption2()")
value1 <- getOption2("future.some.setting", NA)
stopifnot(isTRUE(value1))
value2 <- getOption2("parallelly.some.setting", NA)
stopifnot(isTRUE(value2))
} else if (what == "envvar") {
message("- getEnvVar2()")
value1 <- getEnvVar2("R_FUTURE_SOME_SETTING", NA)
stopifnot(value1 == "TRUE")
value2 <- getEnvVar2("R_PARALLELLY_SOME_SETTING", NA)
stopifnot(value2 == "TRUE")
}
stopifnot(identical(value1, value2))
}
args <- setvalue(name, NULL)
stopifnot(inherits(args, what), is.null(args[[1]]))
} ## for (value ...)
} ## for (name ...)
} ## for (what ...)
message("*** Options and environment variables ... DONE")
source("incl/end.R")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.