1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
|
source("incl/start.R")
message("*** Standard output ...")
truth_rows <- utils::capture.output({
print(1:20)
str(1:20)
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)
message("batchtools_local ...")
plan(batchtools_local)
for (stdout in c(TRUE, FALSE, NA)) {
message(sprintf("- stdout = %s", stdout))
f <- future({
print(1:20)
str(1:20)
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:20)
str(1:20)
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) || !stdout) {
stopifnot(out == "")
} else {
print(out)
stopifnot(identical(out, truth_rows))
}
} ## for (stdout ...)
message("batchtools_local ... DONE")
message("*** Standard output ... DONE")
source("incl/end.R")
|