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.