Nothing
test_that("packages_make_target", {
expect_equal(
packages_make_target("source", "src/contrib", c("p1", "p2"),
c("1.0", "2.0"), NULL, NULL),
c("src/contrib/p1_1.0.tar.gz", "src/contrib/p2_2.0.tar.gz")
)
expect_equal(
packages_make_target("source", "src/contrib", c("p1", "p2"),
c("1.0", "2.0"), c("foo", "bar"), NULL),
c("src/contrib/foo", "src/contrib/bar")
)
expect_equal(
packages_make_target("source", "src/contrib", c("p1", "p2"),
c("1.0", "2.0"), c("foo", "bar"), c("1", "2")),
c("src/contrib/foo", "src/contrib/bar")
)
expect_equal(
packages_make_target("source", "src/contrib", c("p1", "p2"),
c("1.0", "2.0"), NULL, c("foo", "bar")),
c("src/contrib/foo/p1_1.0.tar.gz", "src/contrib/bar/p2_2.0.tar.gz")
)
expect_equal(
packages_make_target("source", "src/contrib", c("p1", "p2", "p3"),
c("1.0", "2.0", "3.0"), c("foo", NA, NA),
c("foox", "bar", NA)),
c("src/contrib/foo", "src/contrib/bar/p2_2.0.tar.gz",
"src/contrib/p3_3.0.tar.gz")
)
})
test_that("packages_make_sources", {
expect_equal(
packages_make_sources(
"URL", "x86_64-apple-darwin17.0",
c("s/c/p1_1.0.tgz", "s/c/p2_2.0.tgz"), "s/c",
c("p1", "p2"), c("1.0", "2.0"), type = "cran", downloadurl = NULL),
list(c("URL/s/c/p1_1.0.tgz", "https://mac.r-project.org/s/c/p1_1.0.tgz"),
c("URL/s/c/p2_2.0.tgz", "https://mac.r-project.org/s/c/p2_2.0.tgz")
))
expect_equal(
packages_make_sources(
"URL", "source", c("s/c/xx.tar.gz", "s/c/yy.tar.gz"), "s/c",
c("p1", "p2"), c("1.0", "2.0"), type = "cran", downloadurl = NULL),
list(c("URL/s/c/xx.tar.gz", "URL/s/c/Archive/p1/p1_1.0.tar.gz"),
c("URL/s/c/yy.tar.gz", "URL/s/c/Archive/p2/p2_2.0.tar.gz"))
)
urls <- c("foo", NA)
expect_equal(
packages_make_sources(
"URL", "x86_64-apple-darwin17.0",
c("s/c/p1_1.0.tgz", "s/c/p2_2.0.tgz"), "s/c",
c("p1", "p2"), c("1.0", "2.0"), type = "cran", downloadurl = urls),
list(c("foo"),
c("URL/s/c/p2_2.0.tgz", "https://mac.r-project.org/s/c/p2_2.0.tgz")
))
})
test_that("read_packages_file", {
pkg_files <- vcapply(
file.path("fixtures", paste0("PACKAGES-", c("src", "win", "mac"), ".gz")),
test_path
)
for (pf in pkg_files) {
pkgs <- read_packages_file(
pf, mirror = "mirror", repodir = "src/contrib", platform = "source",
rversion = "rversion")
check_packages_data(pkgs)
}
})
test_that("read_packages_file windows", {
testthat::local_edition(3)
testthat::local_reproducible_output()
pkg_file <- test_path("fixtures/PACKAGES-win2.gz")
for (pl in c("x86_64-w64-mingw32", "i386-w64-mingw32",
"i386+x86_64-w64-mingw32")) {
pkgs <- read_packages_file(
pkg_file,
mirror = "m",
repodir = "r",
platform = pl,
rversion = as.character(getRversion())
)
expect_snapshot({
print(pl)
pkgs$pkgs[, c("package", "platform")]
})
}
})
test_that("read_packages_file from PPM", {
pkgs1 <- test_path("fixtures", "PACKAGES-ppm1.gz")
pkgs2 <- test_path("fixtures", "PACKAGES-ppm2.gz")
pkgs <- read_packages_file(
pkgs1,
mirror = "mirror",
repodir = "src/contrib",
platform = "source",
rversion = "*",
bin_path = pkgs2,
orig_r_version = "4.2",
)
cols <- c("package", "platform", "rversion")
fix_platform <- function(x) {
sub(current_r_platform(), "<current-platform>", fixed = TRUE, x)
}
pkgs$pkgs$platform <- fix_platform(pkgs$pkgs$platform)
pkgs$pkgs$target <- fix_platform(pkgs$pkgs$target)
expect_snapshot(pkgs$pkgs[, cols])
expect_snapshot(pkgs$pkgs$target)
})
test_that("rversion and platform", {
pkgs1 <- test_path("fixtures", "PACKAGES-rhub")
pkgs <- read_packages_file(
pkgs1,
mirror = "mirror",
repodir = "src/contrib",
platform = "foo",
rversion = "*"
)
expect_snapshot(
as.list(pkgs$pkgs[, c("package", "target", "sources", "rversion", "platform")])
)
})
test_that("packages_parse_deps", {
pkgs <- read_packages_file(
test_path("fixtures/PACKAGES-src.gz"), mirror = "mirror",
repodir = "src/contrib", platform = "source", rversion = "*")
pkgs1 <- pkgs$pkgs[1,]
deps <- packages_parse_deps(pkgs1)
expect_true(inherits(deps, "tbl"))
expect_equal(
colnames(deps),
c("upstream", "idx", "ref", "type", "package", "op", "version"))
})
test_that("merge_packages_data", {
pf <- vcapply(
file.path("fixtures", paste0("PACKAGES-", c("src", "win", "mac"), ".gz")),
test_path
)
pkgsx <- list(
read_packages_file(pf[1], mirror = "m1", repodir = "r1",
platform = "source", rversion = "*"),
read_packages_file(pf[2], mirror = "m2", repodir = "r2",
platform = "windows", rversion = "3.4"),
read_packages_file(pf[3], mirror = "m3", repodir = "r3",
platform = "macos", rversion = "3.5")
)
pkgs <- merge_packages_data(.list = pkgsx)
check_packages_data(pkgs)
expect_equal(
nrow(pkgs$pkgs),
nrow(pkgsx[[1]]$pkgs) + nrow(pkgsx[[2]]$pkgs) + nrow(pkgsx[[3]]$pkgs))
expect_equal(
nrow(pkgs$deps),
nrow(pkgsx[[1]]$deps) + nrow(pkgsx[[2]]$deps) + nrow(pkgsx[[3]]$deps))
expect_true(
all(pkgs$pkgs$package[pkgs$deps$idx] == pkgs$deps$upstream))
})
test_that("rbind_expand", {
d1 <- data_frame(a = 1:2, b = c("a", "b"), c = NA_character_)
d2 <- data_frame(a = 3:4, c = c("c", "d"), d = c(1L, 2L))
m <- rbind_expand(d1, d2)
expect_identical(names(m), c("a", "b", "c", "d"))
expect_identical(m$a, 1:4)
expect_identical(m$b, c("a", "b", NA, NA))
expect_identical(m$c, c(NA, NA, "c", "d"))
expect_identical(m$d, c(NA, NA, 1L, 2L))
})
test_that("empty PACKAGES file", {
pkgs <- test_temp_file()
data <- read_packages_file(pkgs, mirror = "mirror", repodir = "dir",
platform = "source", rversion = "rversion")
check_packages_data(data)
expect_equal(nrow(data$pkgs), 0)
expect_equal(nrow(data$deps), 0)
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.