Skip to content

Commit 649a14d

Browse files
committed
Add regression test for issue 6915: features and transitive dev deps
1 parent 23eb492 commit 649a14d

File tree

1 file changed

+55
-0
lines changed

1 file changed

+55
-0
lines changed

tests/testsuite/features.rs

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1143,6 +1143,61 @@ fn activating_feature_activates_dep() {
11431143
p.cargo("check --features a -v").run();
11441144
}
11451145

1146+
#[cargo_test]
1147+
fn activating_feature_does_not_activate_transitive_dev_dependency() {
1148+
let p = project()
1149+
.no_manifest()
1150+
.file(
1151+
"a/Cargo.toml",
1152+
r#"
1153+
[package]
1154+
name = "a"
1155+
version = "0.0.0"
1156+
edition = "2021"
1157+
1158+
[features]
1159+
f = ["b/f"]
1160+
1161+
[dependencies]
1162+
b = { path = "../b" }
1163+
"#,
1164+
)
1165+
.file(
1166+
"b/Cargo.toml",
1167+
r#"
1168+
[package]
1169+
name = "b"
1170+
version = "0.0.0"
1171+
edition = "2021"
1172+
1173+
[features]
1174+
f = ["c/f"]
1175+
1176+
[dev-dependencies]
1177+
c = { path = "../c" }
1178+
"#,
1179+
)
1180+
.file(
1181+
"c/Cargo.toml",
1182+
r#"
1183+
[package]
1184+
name = "c"
1185+
version = "0.0.0"
1186+
edition = "2021"
1187+
1188+
[features]
1189+
f = []
1190+
"#,
1191+
)
1192+
.file("a/src/lib.rs", "")
1193+
.file("b/src/lib.rs", "")
1194+
.file("c/src/lib.rs", "compile_error!")
1195+
.build();
1196+
1197+
p.cargo("check --manifest-path a/Cargo.toml --features f")
1198+
.run();
1199+
}
1200+
11461201
#[cargo_test]
11471202
fn dep_feature_in_cmd_line() {
11481203
let p = project()

0 commit comments

Comments
 (0)