Nothing
tar_test("use_targets() overwrite", {
skip_cran()
script <- tar_config_get("script")
use_targets(overwrite = FALSE, open = FALSE)
expect_true(file.exists(script))
expect_true(file.exists("run.sh"))
expect_true(file.exists("run.R"))
writeLines("abc", script)
expect_identical(readLines(script), "abc")
use_targets(overwrite = FALSE, open = FALSE)
expect_identical(readLines(script), "abc")
use_targets(overwrite = TRUE, open = FALSE)
expect_false(identical(readLines(script), "abc"))
})
tar_test("use_targets() multicore", {
skip_cran()
for (package in c("future", "future.callr", "future.batchtools")) {
skip_if_not_installed(package)
}
script <- tar_config_get("script")
use_targets(scheduler = "multicore", open = FALSE)
expect_false(file.exists("clustermq.tmpl"))
expect_false(file.exists("future.tmpl"))
line <- grep("clustermq\\.scheduler", readLines(script), value = TRUE)
expect_true(grepl("multicore", line))
line <- grep("future::plan", readLines(script), value = TRUE)
expect_equal(line, "future::plan(future.callr::callr)")
})
tar_test("use_targets() multiprocess", {
skip_cran()
for (package in c("future", "future.callr", "future.batchtools")) {
skip_if_not_installed(package)
}
script <- tar_config_get("script")
use_targets(scheduler = "multiprocess", open = FALSE)
expect_false(file.exists("clustermq.tmpl"))
expect_false(file.exists("future.tmpl"))
line <- grep("clustermq\\.scheduler", readLines(script), value = TRUE)
expect_true(grepl("multiprocess", line))
line <- grep("future::plan", readLines(script), value = TRUE)
expect_equal(line, "future::plan(future.callr::callr)")
})
tar_test("use_targets() local schedulers", {
skip_cran()
for (scheduler in c("multicore", "multiprocess")) {
expect_false(file.exists("job.sh"))
use_targets(scheduler = scheduler, open = FALSE, overwrite = TRUE)
shell <- file.path("run", "run.sh")
shell <- system.file(shell, package = "targets", mustWork = TRUE)
exp <- readLines(shell)
out <- readLines("run.sh")
expect_true(identical(out, exp))
}
})
tar_test("use_targets() hpc schedulers", {
skip_cran()
for (package in c("future", "future.callr", "future.batchtools")) {
skip_if_not_installed(package)
}
script <- tar_config_get("script")
for (scheduler in c("slurm", "sge", "lsf", "pbs", "torque")) {
unlink("*.tmpl")
use_targets(
scheduler = scheduler,
open = FALSE,
overwrite = TRUE,
job_name = "my_job_name"
)
expect_true(file.exists("clustermq.tmpl"))
expect_true(file.exists("future.tmpl") || scheduler == "pbs")
line <- grep("clustermq\\.scheduler", readLines(script), value = TRUE)
expect_true(grepl(scheduler, line))
lines <- readLines("clustermq.tmpl")
expect_false(any(grepl("JOB_NAME", lines)))
expect_true(any(grepl("my_job_name", lines)))
tmpl <- file.path("templates", "clustermq", paste0(scheduler, ".tmpl"))
path <- system.file(tmpl, package = "targets", mustWork = TRUE)
exp <- readLines(path)
exp <- gsub(pattern = "JOB_NAME", replacement = "my_job_name", x = exp)
expect_true(identical(lines, exp))
line <- grep("future::plan", readLines(script), value = TRUE)
expect_true(grepl(scheduler, line) || scheduler == "pbs")
shell <- file.path("run", "job", paste0(scheduler, ".sh"))
shell <- system.file(shell, package = "targets", mustWork = TRUE)
exp <- readLines(shell)
exp <- gsub(pattern = "JOB_NAME", replacement = "my_job_name", x = exp)
out <- readLines("job.sh")
expect_true(identical(out, exp))
expect_false(any(grepl("JOB_NAME", out)))
expect_true(any(grepl("my_job_name", out)))
shell <- file.path("run", "run.sh")
shell <- system.file(shell, package = "targets", mustWork = TRUE)
exp <- readLines(shell)
out <- readLines("run.sh")
expect_true(identical(out, exp))
}
})
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.