{
mirror <- p3m("2023-08-31")
if (!is.online(mirror, tryHttp = FALSE)) {
# Use http:// for older versions of R
mirror <- sub("^https://", "http://", mirror)
}
rvers <- "4.3"
pkgs <- c("Rcpp")
repo_root <- file.path(tempdir(), "miniCRAN", Sys.Date())
if (file.exists(repo_root)) unlink(repo_root, recursive = TRUE)
# list.files(repo_root, recursive = TRUE)
unlink(list.files(tempdir(), pattern = ".rds$", full.names = TRUE))
}
# types are defined in env var `minicran_test_scope`
types <- set_test_types()
pkg_type <- types[1]
test_that("makeRepo downloads files and builds PACKAGES", {
skip_on_cran()
skip_if_offline()
skip_if_not_installed("mockr")
types <- set_test_types()
for (pkg_type in types) {
# pdb <- pkgAvail(repos = mirror, type = pkg_type, quiet = TRUE)
pdb <- pkgAvail(repos = mirror, type = pkg_type, Rversion = rvers, quiet = TRUE)
pkgList <- pkgDep(pkgs, availPkgs = pdb, repos = mirror, type = pkg_type,
suggests = FALSE, Rversion = rvers, quiet = FALSE)
prefix <- repoPrefix(pkg_type, Rversion = rvers)
dir.create(repo_root, recursive = TRUE, showWarnings = FALSE)
ret <- mockr::with_mock(
download_packages = mock_download_packages,
write_packages = mock_write_packages,
.env = "miniCRAN",
{
makeRepo(pkgList, path = repo_root, repos = mirror,
type = pkg_type, quiet = TRUE, Rversion = rvers)
}
)
expect_type(ret, "character")
expect_equal(length(ret), length(pkgList))
expect_true(
.checkForRepoFiles(repo_root, pkgList, prefix)
)
expect_true(
file.exists(file.path(repo_root, prefix, "PACKAGES.gz"))
)
expect_true(
all(
pkgList %in% pkgAvail(repos = repo_root,
type = pkg_type,
Rversion = rvers)[, "Package"]
)
)
}
})
# types are defined in env var `minicran_test_scope`
unlink(repo_root, recursive = TRUE)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.