# These tests can not run on CRAN
skip_on_cran()
if (length(find.package("extrapackage", quiet = TRUE)) != 0) {
unlink(find.package("extrapackage", quiet = TRUE), recursive = TRUE)
}
# test on dummy package
tmpdir <- tempfile(pattern = "pkgrenv2")
dir.create(tmpdir)
file.copy(
system.file("dummyfolder", package = "attachment"), tmpdir,
recursive = TRUE
)
dummyfolder <- file.path(tmpdir, "dummyfolder")
# Create a second dummy package that will be a dependance of dummy
# So that, we are sure it does not exists on CRAN for extra checks
extra_path <- file.path(tmpdir, "dummy.extra")
dir.create(extra_path, recursive = TRUE)
file.copy(
system.file("dummypackage", package = "attachment"),
extra_path,
recursive = TRUE
)
extrapackage <- file.path(extra_path, "extrapackage")
file.rename(file.path(extra_path, "dummypackage"), extrapackage)
# Rename package and remove 'Rcpp'
desc_lines <- readLines(file.path(extrapackage, "DESCRIPTION"))
desc_lines <- gsub("dummypackage", "extrapackage", desc_lines)
desc_lines <- desc_lines[-grep("LinkingTo|Rcpp", desc_lines)]
cat(desc_lines, sep = "\n", file = file.path(extrapackage, "DESCRIPTION"))
# Remove calls to 'dummypackage' and 'Rcpp'
unlink(file.path(extrapackage, "tests"), recursive = TRUE)
# document
# inuse <- search()
att_amend_desc(path = extrapackage)
unloadNamespace("extrapackage") # for windows mainly
# Install package to make it available to {renv}
install.packages(extrapackage, repos = NULL, type = "source")
lock_ <- file.path(tmpdir, "my_lock.lock")
expect_message({
my_renv_ <- create_renv_for_dev(
path = dummyfolder,
install_if_missing = FALSE,
output = lock_,
# force generation of a lockfile even when pre-flight validation checks have failed?
force = TRUE)}
)
test_that("create_renv_for_dev creates lock files even without DESCRIPTION file", {
expect_true(file.exists(lock_))
})
# print(my_renv_extra)
renv_content <- getFromNamespace("lockfile", "renv")(my_renv_)
test_that("lockfile are correct renv files", {
expect_s3_class(renv_content, "renv_lockfile_api")
expect_true("glue" %in% names(renv_content$data()$Packages))
expect_true("extrapackage" %in% names(renv_content$data()$Packages))
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.