make_fake_deps <- function(...) { assert_that(all_named(list(...))) d <- desc::desc("!new") if (length(list(...))) d$set(...) resolve_ref_deps( d$get_deps(), d$get("Remotes")[[1]], NULL ) } make_fake_resolution1 <- function(ref, args = list()) { pref <- parse_pkg_refs(ref)[[1]] if (!is.null(args$extra)) pref[names(args$extra)] <- args$extra mirror <- args$mirror %||% current_config()$get("cran-mirror") repodir <- args$repodir %||% "src/contrib" version <- args$version %||% "1.0.0" filename <- paste0(pref$package, "_", version, ".tar.gz") def <- list( ref = ref, type = pref$type, package = pref$package, version = version, sources = c( sprintf("%s/%s/%s", mirror, repodir, filename), sprintf("%s/%s/Archive/%s/%s", mirror, repodir, pref$package, filename) ), dep_types = tolower(pkg_dep_types_hard()) ) modifyList(def, args) } make_fake_metadata <- function() { list( resolution_start = Sys.time(), resolution_end = Sys.time() ) } make_fake_resolution <- function(...) { pkgs <- list(...) assert_that(all_named(pkgs)) ress <- lapply_with_names( names(pkgs), function(n) make_fake_resolution1(n, pkgs[[n]])) res <- res_make_empty_df() for (r in ress) res <- res_add_df_entries(res, r) res } describe_fake_error <- function(pkgs, policy = "lazy", config = current_config()) { lp <- pkgplan_i_create_lp_problem(pkgs, config, policy) sol <- pkgplan_i_solve_lp_problem(lp) expect_true(sol$objval >= solve_dummy_obj - 1) solution <- list(status = "FAILED", data = pkgs, problem = lp, solution = sol) describe_solution_error(pkgs, solution) }