tar_test("options get exported to workers", {
skip_if_not_installed("clustermq")
tar_script({
options(clustermq.scheduler = "multiprocess")
tar_option_set(
error = "continue",
envir = globalenv()
)
list(
tar_target(x, writeLines(targets::tar_option_get("error"), "error.txt"))
)
})
tar_make_clustermq()
expect_equal(readLines("error.txt"), "continue")
})
tar_test("same with the future backend and non-global environment", {
skip_if_not_installed("future")
tar_script({
future::plan(future::multisession)
envir <- new.env(parent = globalenv())
tar_option_set(
error = "continue",
envir = globalenv()
)
list(
tar_target(x, writeLines(targets::tar_option_get("error"), "error.txt"))
)
})
tar_make_future()
expect_equal(readLines("error.txt"), "continue")
})
tar_test("same with the crew backend and non-global environment", {
skip_if_not_installed("crew")
tar_script({
envir <- new.env(parent = globalenv())
tar_option_set(
error = "continue",
envir = globalenv(),
controller = crew::crew_controller_local()
)
list(
tar_target(x, writeLines(targets::tar_option_get("error"), "error.txt"))
)
})
tar_make()
expect_equal(readLines("error.txt"), "continue")
})
tar_test("runtime settings get exported to workers", {
skip_if_not_installed("clustermq")
tar_script({
options(clustermq.scheduler = "multiprocess")
Sys.setenv(TAR_WARN = "success")
list(
tar_target(x, targets::tar_path_store()),
tar_target(y, targets::tar_call()),
tar_target(z, Sys.getenv("TAR_WARN"))
)
})
tar_make_clustermq(store = "local_store")
expect_equal(tar_read(x, store = "local_store"), "local_store")
expect_equal(tar_read(y, store = "local_store"), "tar_make_clustermq")
expect_equal(tar_read(z, store = "local_store"), "success")
expect_null(tar_call())
expect_false(tar_path_store() == "local_store")
})
tar_test("same with the future backend", {
skip_if_not_installed("future")
tar_script({
future::plan(future::multisession)
Sys.setenv(TAR_WARN = "success")
list(
tar_target(x, targets::tar_path_store()),
tar_target(y, targets::tar_call()),
tar_target(z, Sys.getenv("TAR_WARN"))
)
})
tar_make_future(store = "local_store")
expect_equal(tar_read(x, store = "local_store"), "local_store")
expect_equal(tar_read(y, store = "local_store"), "tar_make_future")
expect_equal(tar_read(z, store = "local_store"), "success")
expect_null(tar_call())
expect_false(tar_path_store() == "local_store")
})
tar_test("same with the crew backend", {
skip_if_not_installed("crew")
tar_script({
Sys.setenv(TAR_WARN = "success")
tar_option_set(controller = crew::crew_controller_local())
list(
tar_target(x, targets::tar_path_store()),
tar_target(y, targets::tar_call()),
tar_target(z, Sys.getenv("TAR_WARN"))
)
})
tar_make(store = "local_store")
expect_equal(tar_read(x, store = "local_store"), "local_store")
expect_equal(tar_read(y, store = "local_store"), "tar_make")
expect_equal(tar_read(z, store = "local_store"), "success")
expect_null(tar_call())
expect_false(tar_path_store() == "local_store")
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.