Nothing
test_that("doJobCollection handles bulky log output", {
N = 1e5
reg = makeTestRegistry()
fun = function(N) print(paste(rep("a", N), collapse = ""))
batchMap(fun, N, reg = reg)
jc = makeJobCollection(1, reg = reg)
fn = fs::file_temp()
doJobCollection(jc, output = fn)
lines = readLines(fn)
expect_true(any(nchar(lines) >= N))
fs::file_delete(fn)
})
test_that("doJobCollection truncates error messages", {
N = 5000 # R truncates stop() at 2^13 chars
reg = makeTestRegistry()
fun = function(N) stop(paste(rep("a", N), collapse = ""))
batchMap(fun, N, reg = reg)
jc = makeJobCollection(1, reg = reg)
fn = fs::file_temp()
doJobCollection(jc, output = fn)
syncRegistry(reg = reg)
msg = getErrorMessages(reg = reg)$message
expect_true(stri_endswith_fixed(msg, " [truncated]"))
fs::file_delete(fn)
})
test_that("doJobCollection does not swallow warning messages", {
reg = makeTestRegistry()
reg$cluster.functions = makeClusterFunctionsInteractive(external = TRUE)
fun = function(x) warning("GREPME")
batchMap(fun, 1, reg = reg)
submitAndWait(reg, 1)
expect_data_table(findErrors(reg = reg), nrow = 0L)
expect_data_table(grepLogs(pattern = "GREPME", reg = reg), nrow = 1L)
})
test_that("doJobCollection signals slave errors", {
reg = makeTestRegistry()
fn = fs::file_temp(ext = ".R", tmp_dir = reg$temp.dir)
reg$source = fn
saveRegistry(reg)
assign("y_on_master", 2, envir = .GlobalEnv)
writeLines("x <- y_on_master", fn)
rm(y_on_master, envir = .GlobalEnv)
expect_error(withr::with_dir(reg$work.dir, loadRegistryDependencies(reg, must.work = TRUE)), "y_on_master")
batchMap(identity, 1, reg = reg)
submitAndWait(reg, 1)
expect_data_table(findErrors(reg = reg), nrow = 1)
expect_string(getErrorMessages(reg = reg)$message, fixed = "y_on_master")
fs::file_delete(fn)
})
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.