From 7515d2d9c8598372b85973b1efe59d836a6cfdd0 Mon Sep 17 00:00:00 2001 From: Eh2406 Date: Thu, 22 Feb 2018 12:55:17 -0500 Subject: [PATCH] this test is slow because it runs the same searches repeatedly --- tests/testsuite/resolve.rs | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/tests/testsuite/resolve.rs b/tests/testsuite/resolve.rs index 735e216cb..05e249189 100644 --- a/tests/testsuite/resolve.rs +++ b/tests/testsuite/resolve.rs @@ -468,6 +468,34 @@ fn resolving_with_constrained_sibling_backtrack_parent() { ("constrained", "1.0.0")]))); } +#[test] +fn resolving_with_many_equivalent_backtracking() { + let mut reglist = vec![ + pkg!(("level0", "1.0.0")), + ]; + + const DEPTH: usize = 10; + const BRANCHING_FACTOR: usize = 5; + + for l in 0..DEPTH { + let name = format!("level{}", l); + let next = format!("level{}", l + 1); + for i in 1..BRANCHING_FACTOR { + let vsn = format!("1.0.{}", i); + reglist.push(pkg!((name.as_str(), vsn.as_str()) => [dep_req(next.as_str(), "*")])); + } + } + + let reg = registry(reglist); + + let res = resolve(&pkg_id("root"), vec![ + dep_req("level0", "*"), + ], ®).unwrap(); + + assert_that(&res, contains(names(&[("root", "1.0.0"), + ("level0", "1.0.0")]))); +} + #[test] fn resolving_with_constrained_sibling_backtrack_activation() { // It makes sense to resolve most-constrained deps first, but -- 2.30.2