test_that("loading package from private lib", {
skip_on_cran()
on.exit(pkg_data$ns <- list(), add = TRUE)
pkg_data$ns$processx <- NULL
gc()
## Load
load_private_package("processx", "c_")
pkgdir <- normalizePath(pkg_data$ns$processx[["__pkg-dir__"]])
## Check if loaded
expect_true(is.function(pkg_data$ns$processx$run))
expect_true(file.exists(pkgdir))
paths <- normalizePath(sapply(.dynLibs(), "[[", "path"))
expect_true(any(grepl(pkgdir, paths, fixed = TRUE)))
})
test_that("cleanup of temp files", {
skip("cleanup not working")
skip_on_cran()
on.exit(pkg_data$ns <- list(), add = TRUE)
pkg_data$ns$processx <- NULL
gc()
## Load
load_private_package("processx", "c_")
pkgdir <- normalizePath(pkg_data$ns$processx[["__pkg-dir__"]])
## Check if loaded
expect_true(is.function(pkg_data$ns$processx$run))
expect_true(file.exists(pkgdir))
paths <- normalizePath(sapply(.dynLibs(), "[[", "path"))
expect_true(any(grepl(pkgdir, paths, fixed = TRUE)))
pkg_data <- asNamespace("pak")$pkg_data
pkg_data$ns$processx <- NULL
gc(); gc()
expect_false(file.exists(pkgdir))
paths <- sapply(.dynLibs(), "[[", "path")
expect_false(any(grepl(pkgdir, paths, fixed = TRUE)))
})
test_that("no interference", {
skip_on_cran()
on.exit(pkg_data$ns <- list(), add = TRUE)
pkg_data$ns$processx <- NULL
gc()
asNamespace("ps")
expect_true("ps" %in% loadedNamespaces())
expect_true("ps" %in% sapply(.dynLibs(), "[[", "name"))
load_private_package("ps")
expect_true(is.function(pkg_data$ns$ps$ps))
expect_true(is.function(asNamespace("ps")$ps))
pkg_data$ns$ps <- NULL
gc(); gc()
expect_true("ps" %in% loadedNamespaces())
expect_true("ps" %in% sapply(.dynLibs(), "[[", "name"))
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.