test_that("no dependencies are loaded with pak", { skip_on_cran() ## Skip this is covr, because covr loads a bunch of other packages ## for some reason skip_if(Sys.getenv("R_COVR", "") == "true", "not run in covr") new_pkgs <- callr::r( function() { withr::with_options(list(pkg.subprocess = FALSE), { orig <- loadedNamespaces() library(pak) new <- loadedNamespaces() }) setdiff(new, orig) }, timeout = 5 ) if_fail( expect_true(all(new_pkgs %in% c("pak", "rstudioapi", base_packages()))), function(e) print(new_pkgs) ) }) test_that("remote", { pid <- remote(function() Sys.getpid()) expect_equal(pid, pkg_data$remote$get_pid()) expect_equal(remote(function() 4 + 4), 8) }) test_that("remote messages", { skip_on_cran() expect_snapshot( invisible(remote(function() cli::cli_text("just once"))) ) expect_snapshot( withCallingHandlers( invisible(remote(function() cli::cli_text("just once"))), message = function(m) print(m) ) ) })