if (Sys.getenv("NOT_CRAN") != "true") return()
if (Sys.getenv("PAK_TESTS") != "true") return()
repo_url <- Sys.getenv(
"PAK_TEST_REPO_URL",
"https://raw.githubusercontent.com/r-lib/r-lib.github.io/test/p/pak/"
)
branches <- c("stable", "rc", "devel")
get_curl <- function(repo, type, rver) {
url <- utils::contrib.url(repo, type)
rver <- package_version(rver)[, 1:2]
sub("[0-9]+[.][0-9]+$", rver, url)
}
test_that("Old URL", {
for (br in branches) {
rver_flt <- utils:::available_packages_filters_db$R_version
repo <- paste0(repo_url, "/", br)
tsts <- read.table(stringsAsFactors = FALSE, header = TRUE, textConnection("
pkg_type rver
mac.binary.big-sur-arm64 4.1.2
mac.binary.big-sur-arm64 4.2.3
mac.binary.big-sur-arm64 4.3.1
mac.binary.big-sur-arm64 4.4.0
mac.binary.el-capitan 3.5.3
mac.binary.el-capitan 3.6.3
mac.binary 4.0.5
mac.binary 4.1.2
mac.binary 4.2.3
mac.binary 4.3.1
mac.binary 4.4.0
win.binary 3.5.3
win.binary 3.6.3
win.binary 4.0.5
win.binary 4.1.2
win.binary 4.2.3
win.binary 4.3.1
win.binary 4.4.0
source 3.5.3
source 3.6.3
source 4.0.5
source 4.1.2
source 4.2.3
source 4.3.1
source 4.4.0
"))
for (i in seq_len(nrow(tsts))) {
cu <- get_curl(repo, tsts$pkg_type[i], tsts$rver[i])
av <- available.packages(cu, filters = list(), ignore_repo_cache = TRUE)
local_mocked_bindings(
getRversion = function() package_version(tsts$rver[i])
)
res <- rver_flt(av)
expect_equal(nrow(res), 1L)
if (nrow(res) != 1) next
pkgurl <- paste0(res[, "Repository"], "/", res[, "File"])
hd <- curlGetHeaders(pkgurl)
expect_equal(attr(hd, "status"), 200L)
}
}
})
test_that("New URL", {
for (br in branches) {
rver_flt <- utils:::available_packages_filters_db$R_version
tsts <- read.table(stringsAsFactors = FALSE, header = TRUE, textConnection("
pkg_type os arch rver branch
source linux-gnu x86_64 3.5.3 all
source linux-gnu x86_64 3.6.3 all
source linux-gnu x86_64 4.0.5 all
source linux-gnu x86_64 4.1.2 all
source linux-gnu x86_64 4.2.3 all
source linux-gnu x86_64 4.3.1 all
source linux-gnu x86_64 4.4.0 all
source linux-musl x86_64 4.1.2 all
source linux-gnu aarch64 4.1.2 devel
win.binary mingw32 x86_64 3.5.3 all
win.binary mingw32 x86_64 3.6.3 all
win.binary mingw32 x86_64 4.0.5 all
win.binary mingw32 x86_64 4.1.2 all
win.binary mingw32 x86_64 4.2.3 all
win.binary mingw32 x86_64 4.3.1 all
win.binary mingw32 x86_64 4.4.0 all
mac.binary.el-capitan darwin15.6.0 x86_64 3.5.3 all
mac.binary.el-capitan darwin15.6.0 x86_64 3.6.3 all
mac.binary darwin17.0 x86_64 4.0.5 all
mac.binary darwin17.0 x86_64 4.1.2 all
mac.binary darwin17.0 x86_64 4.2.3 all
mac.binary darwin17.0 x86_64 4.3.1 all
mac.binary darwin17.0 x86_64 4.4.0 all
mac.binary.big-sur-arm64 darwin20 aarch64 4.1.2 all
mac.binary.big-sur-arm64 darwin20 aarch64 4.2.3 all
mac.binary.big-sur-arm64 darwin20 aarch64 4.3.1 all
mac.binary.big-sur-arm64 darwin20 aarch64 4.4.0 all
"))
for (i in seq_len(nrow(tsts))) {
if (br != tsts$branch[i] && tsts$branch[i] != "all") next
repo <- paste0(
repo_url, "/", br, "/",
tsts$pkg_type[i], "/",
tsts$os[i], "/",
tsts$arch[i]
)
cu <- get_curl(repo, tsts$pkg_type[i], tsts$rver[i])
av <- available.packages(cu, filters = list(), ignore_repo_cache = TRUE)
local_mocked_bindings(
getRversion = function() package_version(tsts$rver[i])
)
res <- rver_flt(av)
expect_equal(nrow(res), 1L)
if (nrow(res) != 1) next
pkgurl <- paste0(res[, "Repository"], "/", res[, "File"])
hd <- curlGetHeaders(pkgurl)
expect_equal(attr(hd, "status"), 200L)
}
}
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.