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)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.