tests/testthat/test-remake_args.R

# library(testthat); devtools::load_all(); 
context("remake_args")

test_that("Function remake_args behaves correctly.", {
  testwd("remake_args-ok")
  expect_equal(
    remake_args(list(hi = 1, remake_file = 12, target_names = 15, 
      x = 5, verbose = TRUE, file = "this file")),
    ", hi = 1, x = 5, verbose = TRUE, file = \"this file\"")
  expect_equal(remake_args(list(remake_file = 12, target_names = 15)), "")
  expect_equal(remake_args(list()), "")
  expect_error(remake_args(list(1, zero = 5)))
  expect_error(remake_args())
  expect_error(remake_args("file"))
  expect_error(remake_args("file1", "file2"))
  expect_error(remake_args(c("file1", "file2")))
  expect_error(remake_args(list("file")))
  expect_error(remake_args(list("file1", "file2")))
  testrm("remake_args-ok")
})

test_that("Correct Makefiles are made with remake_args.", {
  testwd("remake_args-Makefiles")
  example = "basic"
  example_parallelRemake(example)
  setwd(example)
  remake::make("clean", verbose = F)
  makefile(remake_args = list(verbose = F, string = "my string"), prepend = "#begin", run = F)
  x = system2("make", stdout = T)
  expect_equal(length(x), 3)
  expect_true(all(recallable() == c("mtcars", "random")))
  expect_equal(recall("mtcars"), mtcars)
  expect_equal(dim(recall("random")), c(32, 1))
  mtime = file.mtime("plot.pdf")
  Sys.sleep(1.1) # mtime resolutions are terrible on some OS's
  makefile(remake_args = list(verbose = F, string = "my string"), prepend = "#begin")
  expect_equal(mtime, file.mtime("plot.pdf"))
  remake::make("clean", verbose = F)
  makefile(remake_args = list(verbose = F, string = "my string"), prepend = "#begin")
  setwd("..")
  unlink("basic", recursive = TRUE)
  testrm("remake_args-Makefiles")
})
wlandau/parallelRemake documentation built on May 4, 2019, 8:44 a.m.