Nothing
source("incl/start.R")
message("*** Standard output ...")
truth_rows <- utils::capture.output({
print(1:50)
str(1:50)
cat(letters, sep = "-")
cat(1:6, collapse = "\n")
write.table(datasets::iris[1:10,], sep = "\t")
})
truth <- paste0(paste(truth_rows, collapse = "\n"), "\n")
print(truth)
for (cores in seq_len(min(2L, availCores))) {
message(sprintf("Testing with %d cores ...", cores))
options(mc.cores = cores)
for (strategy in supportedStrategies(cores)) {
message(sprintf("%s ...", strategy))
plan(strategy)
for (stdout in c(TRUE, FALSE, NA)) {
message(sprintf("- stdout = %s", stdout))
f <- future({
print(1:50)
str(1:50)
cat(letters, sep = "-")
cat(1:6, collapse = "\n")
write.table(datasets::iris[1:10,], sep = "\t")
42L
}, stdout = stdout)
r <- result(f)
str(r)
stopifnot(value(f) == 42L)
if (is.na(stdout)) {
stopifnot(is.null(r$stdout) || r$stdout == "")
} else if (stdout) {
print(r)
stopifnot(identical(r$stdout, truth))
} else {
stopifnot(is.null(r$stdout))
}
v %<-% {
print(1:50)
str(1:50)
cat(letters, sep = "-")
cat(1:6, collapse = "\n")
write.table(datasets::iris[1:10,], sep = "\t")
42L
} %stdout% stdout
out <- utils::capture.output(y <- v)
stopifnot(y == 42L)
if (is.na(stdout)) {
## Single-core multisession => sequential
if (cores > 1L || strategy != "multisession") {
stopifnot(out == "")
}
} else if (stdout) {
print(out)
stopifnot(identical(out, truth_rows))
} else {
stopifnot(out == "")
}
message("- stdout = structure(TRUE, drop = TRUE)")
f <- future(print(42), stdout = structure(TRUE, drop = TRUE))
r <- result(f)
stopifnot(inherits(r$stdout, "character"))
v <- value(f)
r <- result(f)
stopifnot(is.null(r$stdout))
} ## for (stdout ...)
message(sprintf("%s ... done", strategy))
} ## for (strategy ...)
message(sprintf("Testing with %d cores ... done", cores))
} ## for (cores ...)
message("*** Standard output ... DONE")
source("incl/end.R")
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.