@@ -7,8 +7,8 @@ use cargo::util::Config;
7
7
use support:: project;
8
8
use support:: registry:: Package ;
9
9
use support:: resolver:: {
10
- assert_contains, assert_same, dep, dep_kind, dep_loc, dep_req, loc_names, names,
11
- pkg , pkg_dep , pkg_id, pkg_loc, registry, registry_strategy, resolve, resolve_and_validated,
10
+ assert_contains, assert_same, dep, dep_kind, dep_loc, dep_req, loc_names, names, pkg , pkg_dep ,
11
+ pkg_id, pkg_loc, registry, registry_strategy, resolve, resolve_and_validated,
12
12
resolve_with_config, PrettyPrintRegistry , ToDep , ToPkgId ,
13
13
} ;
14
14
@@ -433,14 +433,12 @@ fn resolving_incompat_versions() {
433
433
pkg!( "bar" => [ dep_req( "foo" , "=1.0.2" ) ] ) ,
434
434
] ) ;
435
435
436
- assert ! (
437
- resolve(
438
- & pkg_id( "root" ) ,
439
- vec![ dep_req( "foo" , "=1.0.1" ) , dep( "bar" ) ] ,
440
- & reg
441
- )
442
- . is_err( )
443
- ) ;
436
+ assert ! ( resolve(
437
+ & pkg_id( "root" ) ,
438
+ vec![ dep_req( "foo" , "=1.0.1" ) , dep( "bar" ) ] ,
439
+ & reg
440
+ )
441
+ . is_err( ) ) ;
444
442
}
445
443
446
444
#[ test]
@@ -1174,3 +1172,137 @@ fn hard_equality() {
1174
1172
& names ( & [ ( "root" , "1.0.0" ) , ( "foo" , "1.0.0" ) , ( "bar" , "1.0.0" ) ] ) ,
1175
1173
) ;
1176
1174
}
1175
+
1176
+ #[ 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) ;
1308
+ }
0 commit comments