Skip to content

Commit 9295b36

Browse files
committed
Filter self out of package dependencies, for real this time
1 parent 8733b93 commit 9295b36

2 files changed

Lines changed: 16 additions & 11 deletions

File tree

R/sitrep.R

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -255,15 +255,17 @@ print.dev_sitrep <- function(x, ...) {
255255
#' @noRd
256256
pkg_dep_status <- function(pkg, dependencies = NA) {
257257
if (is_string(pkg)) {
258+
pkg_name <- pkg
258259
deps <- pak::pkg_deps(pkg, dependencies = dependencies)
259260
} else if (inherits(pkg, "package")) {
261+
pkg_name <- pkg$package
260262
deps <- pak::local_dev_deps(pkg$path, dependencies = dependencies)
261-
deps <- deps[deps$package != pkg$package, ]
262263
} else {
263264
cli::cli_abort(
264265
"{.arg pkg} must be a string package name or a package object."
265266
)
266267
}
268+
deps <- deps[deps$package != pkg_name, ]
267269

268270
installed <- map_chr(deps$package, function(p) {
269271
tryCatch(

tests/testthat/test-sitrep.R

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -181,24 +181,27 @@ test_that("pkg_dep_status reports missing packages", {
181181
expect_true(is.na(result$installed[[2]]))
182182
})
183183

184-
test_that("pkg_dep_status works with a package object and filters self", {
184+
test_that("pkg_dep_status filters out self", {
185185
pkg_path <- local_package_create()
186186
pkg_obj <- as.package(pkg_path)
187+
pkg_name <- pkg_obj$package
188+
189+
deps <- data.frame(
190+
package = c(pkg_name, "rlang"),
191+
version = c("0.0.1", "99999.0.0")
192+
)
187193

188194
local_mocked_bindings(
189-
local_dev_deps = function(...) {
190-
data.frame(
191-
# the package itself typically appears as first row and we want to
192-
# confirm it gets filtered out
193-
package = c(pkg_obj$package, "rlang"),
194-
version = c("0.0.1", "99999.0.0")
195-
)
196-
},
195+
local_dev_deps = function(...) deps,
196+
pkg_deps = function(...) deps,
197197
.package = "pak"
198198
)
199199

200200
result <- pkg_dep_status(pkg_obj)
201-
expect_false(pkg_obj$package %in% result$package)
201+
expect_false(pkg_name %in% result$package)
202+
203+
result <- pkg_dep_status(pkg_name)
204+
expect_false(pkg_name %in% result$package)
202205
})
203206

204207
test_that("print shows RStudio update message", {

0 commit comments

Comments
 (0)