test_all <- (identical (Sys.getenv ("MPADGE_LOCAL"), "true") ||
identical (Sys.getenv ("GITHUB_JOB"), "test-coverage"))
test_that ("archive trawl", {
if (!test_all) {
Sys.setenv ("PKGSTATS_CRAN_TESTS" = "true")
}
archive <- setup_test_archive ()
expect_type (archive, "list")
expect_length (archive, 3L)
expect_identical (names (archive), c ("tarball", "path", "archive_path"))
v <- get_pkg_version (archive$path)
expect_type (v, "character")
expect_length (v, 2L)
expect_identical (v, c ("pkgstats", "9.9"))
f <- archive_results_file_name ("aaa.txt")
expect_equal (basename (f), "aaa.Rds")
expect_equal (f, fs::path (fs::path_wd (), "aaa.Rds"))
expect_error (
pkgstats_from_archive (archive$path),
"Assertion on 'path' failed"
)
expect_error (
pkgstats_fns_from_archive (archive$path),
"path must contain a 'tarballs' directory"
)
tarball_path <- setup_test_tarball (archive)
out <- pkgstats_from_archive (tarball_path)
expect_s3_class (out, "data.frame")
expect_equal (nrow (out), 1L)
out <- pkgstats_fns_from_archive (tarball_path)
expect_s3_class (out, "data.frame")
expect_equal (ncol (out), 3L)
expect_identical (names (out), c ("package", "version", "fn_name"))
unlink (archive$archive_path, recursive = TRUE)
if (!test_all) {
Sys.unsetenv ("PKGSTATS_CRAN_TESTS")
}
})
test_that ("archive_trawl with save options", {
if (!test_all) {
Sys.setenv ("PKGSTATS_CRAN_TESTS" = "true")
}
archive <- setup_test_archive ()
rds_name <- gsub ("\\.tar\\.gz$", ".Rds", archive$tarball)
tarball_path <- setup_test_tarball (archive)
tempfiles <- basename (fs::dir_ls (fs::path_temp (), type = "file"))
expect_false (rds_name %in% tempfiles)
out <- pkgstats_from_archive (tarball_path, save_full = TRUE)
tempfiles <- basename (fs::dir_ls (fs::path_temp (), type = "file"))
expect_true (rds_name %in% tempfiles)
rds_path <- fs::path (fs::path_temp (), rds_name)
dat <- readRDS (rds_path)
expect_type (dat, "list")
expect_length (dat, 8L)
nms <- c (
"loc",
"vignettes",
"data_stats",
"desc",
"translations",
"objects",
"network",
"external_calls"
)
expect_identical (names (dat), nms)
fs::file_delete (rds_path)
out <- pkgstats_from_archive (tarball_path, save_ex_calls = TRUE)
tempfiles <- basename (fs::dir_ls (fs::path_temp (), type = "file"))
expect_true (rds_name %in% tempfiles)
dat <- readRDS (rds_path)
expect_s3_class (dat, "data.frame")
nms <- c (
"tags_line", "call", "tag", "file", "kind", "start", "end", "package"
)
expect_equal (names (dat), nms)
expect_equal (ncol (dat), 8L)
if (test_all) {
expect_true (nrow (dat) > 500L)
}
fs::file_delete (rds_path)
unlink (archive$archive_path, recursive = TRUE)
if (!test_all) {
Sys.unsetenv ("PKGSTATS_CRAN_TESTS")
}
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.