Skip to content

Commit 5d611fa

Browse files
committed
test(config): wrong merge order for non-mergeable list
This show the problematic merge order of non-mergeable list <#16209>
1 parent 28163c0 commit 5d611fa

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

tests/testsuite/config.rs

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2209,6 +2209,21 @@ credential-provider = ['c', 'd']
22092209
.unwrap();
22102210
assert_eq!(provider.path.raw_value(), "c");
22112211
assert_eq!(provider.args, ["d"]);
2212+
2213+
let cli_arg = "registries.example.credential-provider=['cli', 'cli-arg']";
2214+
let gctx = GlobalContextBuilder::new()
2215+
.config_arg(cli_arg)
2216+
.cwd("foo")
2217+
.build();
2218+
let provider = gctx
2219+
.get::<Option<RegistryConfig>>(&format!("registries.example"))
2220+
.unwrap()
2221+
.unwrap()
2222+
.credential_provider
2223+
.unwrap();
2224+
// expect: no merge happens; config CLI takes precedence
2225+
assert_eq!(provider.path.raw_value(), "c");
2226+
assert_eq!(provider.args, ["d", "cli", "cli-arg"]);
22122227
}
22132228

22142229
#[cargo_test]

0 commit comments

Comments
 (0)