Skip to content

Commit

Permalink
Revert most of #84586611 to get test to pass
Browse files Browse the repository at this point in the history
  • Loading branch information
Eh2406 committed May 30, 2019
1 parent 9d86b82 commit 3052e59
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 5 deletions.
33 changes: 31 additions & 2 deletions tests/testsuite/resolve.rs
Original file line number Diff line number Diff line change
Expand Up @@ -357,7 +357,7 @@ fn public_dependency_skipping() {
];
let reg = registry(input);

resolve(pkg_id("root"), vec![dep("c")], &reg).unwrap();
resolve_and_validated(pkg_id("root"), vec![dep("c")], &reg, None).unwrap();
}

#[test]
Expand All @@ -377,7 +377,7 @@ fn public_dependency_skipping_in_backtracking() {
];
let reg = registry(input);

resolve(pkg_id("root"), vec![dep("C")], &reg).unwrap();
resolve_and_validated(pkg_id("root"), vec![dep("C")], &reg, None).unwrap();
}

#[test]
Expand All @@ -394,6 +394,35 @@ fn public_sat_topological_order() {
assert!(resolve_and_validated(pkg_id("root"), vec![dep("A")], &reg, None).is_err());
}

#[test]
fn public_sat_unused_makes_things_pub() {
let input = vec![
pkg!(("a", "0.0.1")),
pkg!(("a", "0.0.0")),
pkg!(("b", "8.0.1") => [dep_req_kind("a", "= 0.0.1", Kind::Normal, true),]),
pkg!(("b", "8.0.0") => [dep_req("a", "= 0.0.1"),]),
pkg!("c" => [dep_req("b", "= 8.0.0"),dep_req("a", "= 0.0.0"),]),
];
let reg = registry(input);

resolve_and_validated(pkg_id("root"), vec![dep("c")], &reg, None).unwrap();
}

#[test]
fn public_sat_unused_makes_things_pub_2() {
let input = vec![
pkg!(("c", "0.0.2")),
pkg!(("c", "0.0.1")),
pkg!(("a-sys", "0.0.2")),
pkg!(("a-sys", "0.0.1") => [dep_req_kind("c", "= 0.0.1", Kind::Normal, true),]),
pkg!("P" => [dep_req_kind("a-sys", "*", Kind::Normal, true),dep_req("c", "= 0.0.1"),]),
pkg!("A" => [dep("P"),dep_req("c", "= 0.0.2"),]),
];
let reg = registry(input);

resolve_and_validated(pkg_id("root"), vec![dep("A")], &reg, None).unwrap();
}

#[test]
#[should_panic(expected = "assertion failed: !name.is_empty()")]
fn test_dependency_with_empty_name() {
Expand Down
6 changes: 3 additions & 3 deletions tests/testsuite/support/resolver.rs
Original file line number Diff line number Diff line change
Expand Up @@ -377,12 +377,12 @@ impl SatResolve {
// we already ensure there is only one version for each `activations_key` so we can think of
// `can_see` as being in terms of a set of `activations_key`s
// and if `p` `publicly_exports` `export` then it `can_see` `export`
let mut can_see: HashMap<_, HashMap<_, varisat::Var>> = publicly_exports.clone();
let mut can_see: HashMap<_, HashMap<_, varisat::Var>> = HashMap::new();

// if `p` has a `dep` that selected `ver` then it `can_see` all the things that the selected version `publicly_exports`
for (&p, deps) in version_selected_for.iter() {
let p_can_see = can_see.entry(p.as_activations_key()).or_default();
for (_, versions) in deps.iter().filter(|(d, _)| !d.is_public()) {
let p_can_see = can_see.entry(p).or_default();
for (_, versions) in deps.iter() {
for (&ver, sel) in versions {
for (&export_pid, &export_var) in publicly_exports[&ver].iter() {
let our_var = p_can_see.entry(export_pid).or_insert_with(|| cnf.new_var());
Expand Down

0 comments on commit 3052e59

Please sign in to comment.