Skip to content

Commit 1e90c0a

Browse files
committed
a more pure version of the test
1 parent 04e1564 commit 1e90c0a

File tree

1 file changed

+26
-131
lines changed

1 file changed

+26
-131
lines changed

tests/testsuite/resolve.rs

Lines changed: 26 additions & 131 deletions
Original file line numberDiff line numberDiff line change
@@ -1174,135 +1174,30 @@ fn hard_equality() {
11741174
}
11751175

11761176
#[test]
1177-
fn slow_case() {
1178-
let reg = registry(vec![
1179-
pkg!(("-a-sys", "0.0.0") => [dep("bad"),]),
1180-
pkg!(("-a-sys", "0.0.1") => [dep("bad"),]),
1181-
pkg!(("-a-sys", "0.0.2") => [dep("bad"),]),
1182-
pkg!(("-a-sys", "0.0.3") => [dep("bad"),]),
1183-
pkg!(("-a-sys", "0.0.4")),
1184-
pkg!(("-a-sys", "0.0.5")),
1185-
pkg!(("-a-sys", "0.0.6")),
1186-
pkg!(("-a-sys", "0.0.7")),
1187-
pkg!(("-a-sys", "0.0.8")),
1188-
pkg!(("-a-sys", "0.0.9") => [dep("bad"),]),
1189-
pkg!(("-a-sys", "0.0.10")),
1190-
pkg!(("-a-sys", "0.0.11")),
1191-
pkg!(("-a-sys", "0.1.0")),
1192-
pkg!(("-a-sys", "0.1.1")),
1193-
pkg!(("-a-sys", "0.1.2")),
1194-
pkg!(("-a-sys", "0.1.3")),
1195-
pkg!(("-a-sys", "0.2.0")),
1196-
pkg!(("-a-sys", "0.2.1")),
1197-
pkg!(("A_-sys", "0.0.0") => [dep("bad"),]),
1198-
pkg!(("A_-sys", "0.0.1") => [dep("bad"),]),
1199-
pkg!(("A_-sys", "0.0.2") => [dep("bad"),]),
1200-
pkg!(("A_-sys", "0.0.3") =>[dep("bad"),]),
1201-
pkg!(("A_-sys", "0.0.4") => [dep("bad"),]),
1202-
pkg!(("A_-sys", "0.0.5") => [dep("bad"),]),
1203-
pkg!(("A_-sys", "0.0.6") => [dep("bad"),]),
1204-
pkg!(("A_-sys", "0.0.7") => [dep("bad"),]),
1205-
pkg!(("A_-sys", "0.1.0") => [dep("bad"),]),
1206-
pkg!(("A_-sys", "0.1.1") => [dep("bad"),]),
1207-
pkg!(("A_-sys", "0.1.2")),
1208-
pkg!(("A_-sys", "0.1.3")),
1209-
pkg!(("A_-sys", "0.1.4")),
1210-
pkg!(("A_-sys", "0.1.5")),
1211-
pkg!(("A_-sys", "0.1.6")),
1212-
pkg!(("A_-sys", "0.2.0")),
1213-
pkg!(("A_-sys", "0.2.1")),
1214-
pkg!(("A_-sys", "0.2.2")),
1215-
pkg!(("A_-sys", "0.3.0")),
1216-
pkg!(("A_-sys", "1.0.0")),
1217-
pkg!(("__-sys", "0.0.0") => [dep("bad"),]),
1218-
pkg!(("__-sys", "0.0.1") => [dep("bad"),]),
1219-
pkg!(("__-sys", "0.0.2")),
1220-
pkg!(("__-sys", "0.0.3")),
1221-
pkg!(("__-sys", "0.0.4") => [dep_req("-a-sys", ">= 0.0.1, <= 0.0.8"),]),
1222-
pkg!(("__-sys", "0.0.5") => [dep("bad"),]),
1223-
pkg!(("a-sys", "0.0.0") => [dep("bad"),]),
1224-
pkg!(("a-sys", "0.0.1") => [dep("bad"),]),
1225-
pkg!(("a-sys", "0.0.2") => [dep("bad"),]),
1226-
pkg!(("a-sys", "0.0.3") => [dep("bad"),]),
1227-
pkg!(("a-sys", "0.0.4")),
1228-
pkg!(("a-sys", "0.0.5") => [dep("bad"),]),
1229-
pkg!(("a-sys", "0.0.6")),
1230-
pkg!(("a-sys", "0.1.0") => [dep("bad"),]),
1231-
pkg!(("a-sys", "0.1.1")),
1232-
pkg!(("a-sys", "0.1.2")),
1233-
pkg!(("a-sys", "0.1.3")),
1234-
pkg!(("a-sys", "0.1.4")),
1235-
pkg!(("a-sys", "0.1.5")),
1236-
pkg!(("c-sys", "0.0.0")),
1237-
pkg!(("c-sys", "0.0.1")),
1238-
pkg!(("c-sys", "0.0.2")),
1239-
pkg!(("c-sys", "0.0.3") => [dep("bad"),]),
1240-
pkg!(("c-sys", "0.0.4")),
1241-
pkg!(("c-sys", "0.0.5") => [dep("bad"),]),
1242-
pkg!(("c-sys", "0.0.6")),
1243-
pkg!(("c-sys", "0.0.7") => [dep("bad"),]),
1244-
pkg!(("c-sys", "0.0.8") => [dep("bad"),]),
1245-
pkg!(("c-sys", "0.0.9") => [dep("bad"),]),
1246-
pkg!(("c-sys", "0.1.0")),
1247-
pkg!(("c-sys", "1.0.0") => [dep("bad"),]),
1248-
pkg!(("c-sys", "1.0.1")),
1249-
pkg!(("c-sys", "1.0.2") => [dep("bad"),]),
1250-
pkg!(("c-sys", "1.0.3") => [dep("bad"),]),
1251-
pkg!(("d-sys", "0.0.0") => [dep("bad"),]),
1252-
pkg!(("d-sys", "0.0.1") => [dep("bad"),]),
1253-
pkg!(("d-sys", "0.0.2") => [dep("bad"),]),
1254-
pkg!(("d-sys", "0.0.3") => [dep("bad"),]),
1255-
pkg!(("d-sys", "0.0.4") => [dep("bad"),]),
1256-
pkg!(("d-sys", "0.0.5") => [dep("bad"),]),
1257-
pkg!(("d-sys", "0.1.0") => [dep("bad"),]),
1258-
pkg!(("d-sys", "0.1.1") => [dep("bad"),]),
1259-
pkg!(("d-sys", "0.1.2") => [dep_req("__-sys", "<= 0.0.4"),]),
1260-
pkg!(("d-sys", "0.2.0") => [dep_req("__-sys", "<= 0.0.4"),]),
1261-
pkg!(("f", "0.0.0") => [dep("bad"),]),
1262-
pkg!(("f", "0.0.1") => [dep("bad"),]),
1263-
pkg!(("f", "0.0.2") => [dep("bad"),]),
1264-
pkg!(("f", "0.0.3") => [dep("bad"),]),
1265-
pkg!(("f", "0.0.4") => [dep("bad"),]),
1266-
pkg!(("f", "0.0.5") => [dep("bad"),]),
1267-
pkg!(("f", "0.0.6") => [dep("bad"),]),
1268-
pkg!(("f", "0.0.7") => [dep("bad"),]),
1269-
pkg!(("f", "0.0.8") => [dep("bad"),]),
1270-
pkg!(("f", "0.0.9") => [dep("bad"),]),
1271-
pkg!(("f", "0.0.10") => [dep("bad"),]),
1272-
pkg!(("f", "0.0.11") => [dep("bad"),]),
1273-
pkg!(("f", "0.1.0") => [dep("bad"),]),
1274-
pkg!(("f", "0.1.1") => [dep("bad"),]),
1275-
pkg!(("f", "0.1.2") => [dep("bad"),]),
1276-
pkg!(("f", "1.0.0") => [dep("bad"),]),
1277-
pkg!(("f", "1.0.1") => [dep_req("a-sys", "= 0.1.5"),]),
1278-
pkg!(("f", "1.0.2") => [dep_req("c-sys", "= 0.0.5"),]),
1279-
pkg!(("fa", "0.0.0") => [dep("bad"),]),
1280-
pkg!(("fa", "0.0.1") => [dep("bad"),]),
1281-
pkg!(("fa", "0.0.2") => [dep("bad"),]),
1282-
pkg!(("fa", "0.0.3") => [dep("bad"),]),
1283-
pkg!(("fa", "0.0.4") => [dep("bad"),]),
1284-
pkg!(("fa", "0.1.0") => [dep("bad"),]),
1285-
pkg!(("fa", "0.2.0") => [dep("bad"),]),
1286-
pkg!(("fa", "0.2.1") => [dep_req("c-sys", "<= 0.0.4"),]),
1287-
pkg!(("fa", "0.2.2") => [dep_req("c-sys", ">= 0.0.5, <= 0.1.0"),]),
1288-
pkg!(("s", "0.0.0") => [dep("bad"),]),
1289-
pkg!(("s", "0.0.1") => [dep("bad"),]),
1290-
pkg!(("s", "0.0.2") => [dep("bad"),]),
1291-
pkg!(("s", "0.0.3") => [dep_req("__-sys", "= 0.0.5"),]),
1292-
pkg!(("s", "0.0.4") => [dep("bad"),]),
1293-
pkg!(("s", "0.0.5") => [dep_req("d-sys", "<= 0.0.0"),]),
1294-
pkg!(("s", "0.1.0") => [dep("f"),]),
1295-
pkg!(("s", "0.1.1") => [dep_req("-a-sys", ">= 0.0.10, <= 0.0.11"),dep_req("__-sys", "= 0.0.4"),]),
1296-
pkg!(("s", "0.1.2") => [dep("bad"),]),
1297-
pkg!(("s", "0.1.3") => [dep("bad"),]),
1298-
pkg!(("s", "0.1.4") => [dep_req("A_-sys", "= 0.3.0"),]),
1299-
pkg!(("sA", "1.0.1") => [
1300-
dep_req("A_-sys", ">= 0.1.1, <= 0.2.2"),
1301-
dep_req("a-sys", ">= 0.0.4, <= 0.1.4"),
1302-
dep_req("d-sys", ">= 0.0.1"),
1303-
dep("fa"),
1304-
dep("s"),
1305-
]),
1306-
]);
1307-
let _ = resolve(&pkg_id("root"), vec![dep("sA")], &reg);
1177+
fn large_conflict_cache() {
1178+
let mut input = vec![
1179+
pkg!(("last", "0.0.0") => [dep("bad")]) // just to make sure last is less constrained
1180+
];
1181+
let mut root_deps = vec![dep("last")];
1182+
const NUM_VERSIONS: u8 = 3;
1183+
for name in 0..=NUM_VERSIONS {
1184+
// a large number of conflicts can easily be generated by a sys crate.
1185+
let sys_name = format!("{}-sys", (b'a' + name) as char);
1186+
let in_len = input.len();
1187+
input.push(pkg!(("last", format!("{}.0.0", in_len)) => [dep_req(&sys_name, "=0.0.0")]));
1188+
root_deps.push(dep_req(&sys_name, ">= 0.0.1"));
1189+
1190+
// a large number of conflicts can also easily be generated by a major release version.
1191+
let plane_name = format!("{}", (b'a' + name) as char);
1192+
let in_len = input.len();
1193+
input.push(pkg!(("last", format!("{}.0.0", in_len)) => [dep_req(&plane_name, "=1.0.0")]));
1194+
root_deps.push(dep_req(&plane_name, ">= 1.0.1"));
1195+
1196+
for i in 0..=NUM_VERSIONS {
1197+
input.push(pkg!((&sys_name, format!("{}.0.0", i))));
1198+
input.push(pkg!((&plane_name, format!("1.0.{}", i))));
1199+
}
1200+
}
1201+
let reg = registry(input);
1202+
let _ = resolve(&pkg_id("root"), root_deps, &reg);
13081203
}

0 commit comments

Comments
 (0)