@@ -1359,3 +1359,94 @@ Consider enabling them by passing, e.g., `--features=\"a1/f1\"`
1359
1359
. with_stdout ( "a1 f1\n a2 f2" )
1360
1360
. run ( ) ;
1361
1361
}
1362
+
1363
+ #[ cargo_test]
1364
+ fn truncated_install_warning_message ( ) {
1365
+ let p = project ( )
1366
+ . file (
1367
+ "Cargo.toml" ,
1368
+ r#"
1369
+ [package]
1370
+ name = "foo"
1371
+ version = "0.1.0"
1372
+ edition = "2021"
1373
+
1374
+ [features]
1375
+ feature1 = []
1376
+ feature2 = []
1377
+ feature3 = []
1378
+ feature4 = []
1379
+ feature5 = []
1380
+
1381
+ [[bin]]
1382
+ name = "foo1"
1383
+ required-features = ["feature1", "feature2", "feature3"]
1384
+
1385
+ [[bin]]
1386
+ name = "foo2"
1387
+ required-features = ["feature2"]
1388
+
1389
+ [[bin]]
1390
+ name = "foo3"
1391
+ required-features = ["feature3"]
1392
+
1393
+ [[bin]]
1394
+ name = "foo4"
1395
+ required-features = ["feature4", "feature1"]
1396
+
1397
+ [[bin]]
1398
+ name = "foo5"
1399
+ required-features = ["feature1", "feature2", "feature3", "feature4", "feature5"]
1400
+
1401
+ [[bin]]
1402
+ name = "foo6"
1403
+ required-features = ["feature1", "feature2", "feature3", "feature4", "feature5"]
1404
+
1405
+ [[bin]]
1406
+ name = "foo7"
1407
+ required-features = ["feature1", "feature2", "feature3", "feature4", "feature5"]
1408
+
1409
+ [[bin]]
1410
+ name = "foo8"
1411
+ required-features = ["feature1", "feature2", "feature3", "feature4", "feature5"]
1412
+
1413
+ [[bin]]
1414
+ name = "foo9"
1415
+ required-features = ["feature1", "feature2", "feature3", "feature4", "feature5"]
1416
+
1417
+ [[bin]]
1418
+ name = "foo10"
1419
+ required-features = ["feature1", "feature2", "feature3", "feature4", "feature5"]
1420
+
1421
+ [[example]]
1422
+ name = "example1"
1423
+ required-features = ["feature1", "feature2"]
1424
+ "# ,
1425
+ )
1426
+ . file ( "src/bin/foo1.rs" , "fn main() {}" )
1427
+ . file ( "src/bin/foo2.rs" , "fn main() {}" )
1428
+ . file ( "src/bin/foo3.rs" , "fn main() {}" )
1429
+ . file ( "src/bin/foo4.rs" , "fn main() {}" )
1430
+ . file ( "src/bin/foo5.rs" , "fn main() {}" )
1431
+ . file ( "src/bin/foo6.rs" , "fn main() {}" )
1432
+ . file ( "src/bin/foo7.rs" , "fn main() {}" )
1433
+ . file ( "src/bin/foo8.rs" , "fn main() {}" )
1434
+ . file ( "src/bin/foo9.rs" , "fn main() {}" )
1435
+ . file ( "src/bin/foo10.rs" , "fn main() {}" )
1436
+ . file ( "examples/example1.rs" , "fn main() {}" )
1437
+ . build ( ) ;
1438
+
1439
+ p. cargo ( "install --path ." ) . with_stderr ( "\
1440
+ [INSTALLING] foo v0.1.0 ([..])
1441
+ [FINISHED] release [optimized] target(s) in [..]
1442
+ [WARNING] none of the package's binaries are available for install using the selected features
1443
+ bin \" foo1\" requires the features: `feature1`, `feature2`, `feature3`
1444
+ bin \" foo2\" requires the features: `feature2`
1445
+ bin \" foo3\" requires the features: `feature3`
1446
+ bin \" foo4\" requires the features: `feature4`, `feature1`
1447
+ bin \" foo5\" requires the features: `feature1`, `feature2`, `feature3`, `feature4`, `feature5`
1448
+ bin \" foo6\" requires the features: `feature1`, `feature2`, `feature3`, `feature4`, `feature5`
1449
+ bin \" foo7\" requires the features: `feature1`, `feature2`, `feature3`, `feature4`, `feature5`
1450
+ 4 more targets also requires features not enabled. See them in the Cargo.toml file.
1451
+ Consider enabling some of the needed features by passing, e.g., `--features=\" feature1 feature2 feature3\" `" ) . run ( ) ;
1452
+ }
0 commit comments