119625d8cSopenharmony_ciuse clap::{arg, error::ErrorKind, Arg, ArgAction, Command};
219625d8cSopenharmony_ci
319625d8cSopenharmony_ci#[test]
419625d8cSopenharmony_cifn flag_overrides_itself() {
519625d8cSopenharmony_ci    let res = Command::new("posix")
619625d8cSopenharmony_ci        .arg(
719625d8cSopenharmony_ci            arg!(--flag  "some flag"
819625d8cSopenharmony_ci            )
919625d8cSopenharmony_ci            .action(ArgAction::SetTrue)
1019625d8cSopenharmony_ci            .overrides_with("flag"),
1119625d8cSopenharmony_ci        )
1219625d8cSopenharmony_ci        .try_get_matches_from(vec!["", "--flag", "--flag"]);
1319625d8cSopenharmony_ci    assert!(res.is_ok(), "{}", res.unwrap_err());
1419625d8cSopenharmony_ci    let m = res.unwrap();
1519625d8cSopenharmony_ci    assert!(*m.get_one::<bool>("flag").expect("defaulted by clap"));
1619625d8cSopenharmony_ci}
1719625d8cSopenharmony_ci
1819625d8cSopenharmony_ci#[test]
1919625d8cSopenharmony_cifn option_overrides_itself() {
2019625d8cSopenharmony_ci    let res = Command::new("posix")
2119625d8cSopenharmony_ci        .arg(
2219625d8cSopenharmony_ci            arg!(--opt <val> "some option")
2319625d8cSopenharmony_ci                .required(false)
2419625d8cSopenharmony_ci                .overrides_with("opt"),
2519625d8cSopenharmony_ci        )
2619625d8cSopenharmony_ci        .try_get_matches_from(vec!["", "--opt=some", "--opt=other"]);
2719625d8cSopenharmony_ci    assert!(res.is_ok(), "{}", res.unwrap_err());
2819625d8cSopenharmony_ci    let m = res.unwrap();
2919625d8cSopenharmony_ci    assert!(m.contains_id("opt"));
3019625d8cSopenharmony_ci    assert_eq!(
3119625d8cSopenharmony_ci        m.get_one::<String>("opt").map(|v| v.as_str()),
3219625d8cSopenharmony_ci        Some("other")
3319625d8cSopenharmony_ci    );
3419625d8cSopenharmony_ci}
3519625d8cSopenharmony_ci
3619625d8cSopenharmony_ci#[test]
3719625d8cSopenharmony_cifn posix_compatible_flags_long() {
3819625d8cSopenharmony_ci    let m = Command::new("posix")
3919625d8cSopenharmony_ci        .arg(
4019625d8cSopenharmony_ci            arg!(--flag  "some flag")
4119625d8cSopenharmony_ci                .overrides_with("color")
4219625d8cSopenharmony_ci                .action(ArgAction::SetTrue),
4319625d8cSopenharmony_ci        )
4419625d8cSopenharmony_ci        .arg(arg!(--color "some other flag").action(ArgAction::SetTrue))
4519625d8cSopenharmony_ci        .try_get_matches_from(vec!["", "--flag", "--color"])
4619625d8cSopenharmony_ci        .unwrap();
4719625d8cSopenharmony_ci    assert!(*m.get_one::<bool>("color").expect("defaulted by clap"));
4819625d8cSopenharmony_ci    assert!(!*m.get_one::<bool>("flag").expect("defaulted by clap"));
4919625d8cSopenharmony_ci}
5019625d8cSopenharmony_ci
5119625d8cSopenharmony_ci#[test]
5219625d8cSopenharmony_cifn posix_compatible_flags_long_rev() {
5319625d8cSopenharmony_ci    let m = Command::new("posix")
5419625d8cSopenharmony_ci        .arg(
5519625d8cSopenharmony_ci            arg!(--flag  "some flag")
5619625d8cSopenharmony_ci                .overrides_with("color")
5719625d8cSopenharmony_ci                .action(ArgAction::SetTrue),
5819625d8cSopenharmony_ci        )
5919625d8cSopenharmony_ci        .arg(arg!(--color "some other flag").action(ArgAction::SetTrue))
6019625d8cSopenharmony_ci        .try_get_matches_from(vec!["", "--color", "--flag"])
6119625d8cSopenharmony_ci        .unwrap();
6219625d8cSopenharmony_ci    assert!(!*m.get_one::<bool>("color").expect("defaulted by clap"));
6319625d8cSopenharmony_ci    assert!(*m.get_one::<bool>("flag").expect("defaulted by clap"));
6419625d8cSopenharmony_ci}
6519625d8cSopenharmony_ci
6619625d8cSopenharmony_ci#[test]
6719625d8cSopenharmony_cifn posix_compatible_flags_short() {
6819625d8cSopenharmony_ci    let m = Command::new("posix")
6919625d8cSopenharmony_ci        .arg(
7019625d8cSopenharmony_ci            arg!(-f --flag  "some flag")
7119625d8cSopenharmony_ci                .overrides_with("color")
7219625d8cSopenharmony_ci                .action(ArgAction::SetTrue),
7319625d8cSopenharmony_ci        )
7419625d8cSopenharmony_ci        .arg(arg!(-c --color "some other flag").action(ArgAction::SetTrue))
7519625d8cSopenharmony_ci        .try_get_matches_from(vec!["", "-f", "-c"])
7619625d8cSopenharmony_ci        .unwrap();
7719625d8cSopenharmony_ci    assert!(*m.get_one::<bool>("color").expect("defaulted by clap"));
7819625d8cSopenharmony_ci    assert!(!*m.get_one::<bool>("flag").expect("defaulted by clap"));
7919625d8cSopenharmony_ci}
8019625d8cSopenharmony_ci
8119625d8cSopenharmony_ci#[test]
8219625d8cSopenharmony_cifn posix_compatible_flags_short_rev() {
8319625d8cSopenharmony_ci    let m = Command::new("posix")
8419625d8cSopenharmony_ci        .arg(
8519625d8cSopenharmony_ci            arg!(-f --flag  "some flag")
8619625d8cSopenharmony_ci                .overrides_with("color")
8719625d8cSopenharmony_ci                .action(ArgAction::SetTrue),
8819625d8cSopenharmony_ci        )
8919625d8cSopenharmony_ci        .arg(arg!(-c --color "some other flag").action(ArgAction::SetTrue))
9019625d8cSopenharmony_ci        .try_get_matches_from(vec!["", "-c", "-f"])
9119625d8cSopenharmony_ci        .unwrap();
9219625d8cSopenharmony_ci    assert!(!*m.get_one::<bool>("color").expect("defaulted by clap"));
9319625d8cSopenharmony_ci    assert!(*m.get_one::<bool>("flag").expect("defaulted by clap"));
9419625d8cSopenharmony_ci}
9519625d8cSopenharmony_ci
9619625d8cSopenharmony_ci#[test]
9719625d8cSopenharmony_cifn posix_compatible_opts_long() {
9819625d8cSopenharmony_ci    let m = Command::new("posix")
9919625d8cSopenharmony_ci        .arg(arg!(--flag <flag> "some flag").overrides_with("color"))
10019625d8cSopenharmony_ci        .arg(arg!(--color <color> "some other flag"))
10119625d8cSopenharmony_ci        .try_get_matches_from(vec!["", "--flag", "some", "--color", "other"])
10219625d8cSopenharmony_ci        .unwrap();
10319625d8cSopenharmony_ci    assert!(m.contains_id("color"));
10419625d8cSopenharmony_ci    assert_eq!(
10519625d8cSopenharmony_ci        m.get_one::<String>("color").map(|v| v.as_str()).unwrap(),
10619625d8cSopenharmony_ci        "other"
10719625d8cSopenharmony_ci    );
10819625d8cSopenharmony_ci    assert!(!m.contains_id("flag"));
10919625d8cSopenharmony_ci}
11019625d8cSopenharmony_ci
11119625d8cSopenharmony_ci#[test]
11219625d8cSopenharmony_cifn posix_compatible_opts_long_rev() {
11319625d8cSopenharmony_ci    let m = Command::new("posix")
11419625d8cSopenharmony_ci        .arg(arg!(--flag <flag> "some flag").overrides_with("color"))
11519625d8cSopenharmony_ci        .arg(arg!(--color <color> "some other flag"))
11619625d8cSopenharmony_ci        .try_get_matches_from(vec!["", "--color", "some", "--flag", "other"])
11719625d8cSopenharmony_ci        .unwrap();
11819625d8cSopenharmony_ci    assert!(!m.contains_id("color"));
11919625d8cSopenharmony_ci    assert!(m.contains_id("flag"));
12019625d8cSopenharmony_ci    assert_eq!(
12119625d8cSopenharmony_ci        m.get_one::<String>("flag").map(|v| v.as_str()).unwrap(),
12219625d8cSopenharmony_ci        "other"
12319625d8cSopenharmony_ci    );
12419625d8cSopenharmony_ci}
12519625d8cSopenharmony_ci
12619625d8cSopenharmony_ci#[test]
12719625d8cSopenharmony_cifn posix_compatible_opts_long_equals() {
12819625d8cSopenharmony_ci    let m = Command::new("posix")
12919625d8cSopenharmony_ci        .arg(arg!(--flag <flag> "some flag").overrides_with("color"))
13019625d8cSopenharmony_ci        .arg(arg!(--color <color> "some other flag"))
13119625d8cSopenharmony_ci        .try_get_matches_from(vec!["", "--flag=some", "--color=other"])
13219625d8cSopenharmony_ci        .unwrap();
13319625d8cSopenharmony_ci    assert!(m.contains_id("color"));
13419625d8cSopenharmony_ci    assert_eq!(
13519625d8cSopenharmony_ci        m.get_one::<String>("color").map(|v| v.as_str()).unwrap(),
13619625d8cSopenharmony_ci        "other"
13719625d8cSopenharmony_ci    );
13819625d8cSopenharmony_ci    assert!(!m.contains_id("flag"));
13919625d8cSopenharmony_ci}
14019625d8cSopenharmony_ci
14119625d8cSopenharmony_ci#[test]
14219625d8cSopenharmony_cifn posix_compatible_opts_long_equals_rev() {
14319625d8cSopenharmony_ci    let m = Command::new("posix")
14419625d8cSopenharmony_ci        .arg(arg!(--flag <flag> "some flag").overrides_with("color"))
14519625d8cSopenharmony_ci        .arg(arg!(--color <color> "some other flag"))
14619625d8cSopenharmony_ci        .try_get_matches_from(vec!["", "--color=some", "--flag=other"])
14719625d8cSopenharmony_ci        .unwrap();
14819625d8cSopenharmony_ci    assert!(!m.contains_id("color"));
14919625d8cSopenharmony_ci    assert!(m.contains_id("flag"));
15019625d8cSopenharmony_ci    assert_eq!(
15119625d8cSopenharmony_ci        m.get_one::<String>("flag").map(|v| v.as_str()).unwrap(),
15219625d8cSopenharmony_ci        "other"
15319625d8cSopenharmony_ci    );
15419625d8cSopenharmony_ci}
15519625d8cSopenharmony_ci
15619625d8cSopenharmony_ci#[test]
15719625d8cSopenharmony_cifn posix_compatible_opts_short() {
15819625d8cSopenharmony_ci    let m = Command::new("posix")
15919625d8cSopenharmony_ci        .arg(arg!(f: -f <flag>  "some flag").overrides_with("c"))
16019625d8cSopenharmony_ci        .arg(arg!(c: -c <color> "some other flag"))
16119625d8cSopenharmony_ci        .try_get_matches_from(vec!["", "-f", "some", "-c", "other"])
16219625d8cSopenharmony_ci        .unwrap();
16319625d8cSopenharmony_ci    assert!(m.contains_id("c"));
16419625d8cSopenharmony_ci    assert_eq!(
16519625d8cSopenharmony_ci        m.get_one::<String>("c").map(|v| v.as_str()).unwrap(),
16619625d8cSopenharmony_ci        "other"
16719625d8cSopenharmony_ci    );
16819625d8cSopenharmony_ci    assert!(!m.contains_id("f"));
16919625d8cSopenharmony_ci}
17019625d8cSopenharmony_ci
17119625d8cSopenharmony_ci#[test]
17219625d8cSopenharmony_cifn posix_compatible_opts_short_rev() {
17319625d8cSopenharmony_ci    let m = Command::new("posix")
17419625d8cSopenharmony_ci        .arg(arg!(f: -f <flag>  "some flag").overrides_with("c"))
17519625d8cSopenharmony_ci        .arg(arg!(c: -c <color> "some other flag"))
17619625d8cSopenharmony_ci        .try_get_matches_from(vec!["", "-c", "some", "-f", "other"])
17719625d8cSopenharmony_ci        .unwrap();
17819625d8cSopenharmony_ci    assert!(!m.contains_id("c"));
17919625d8cSopenharmony_ci    assert!(m.contains_id("f"));
18019625d8cSopenharmony_ci    assert_eq!(
18119625d8cSopenharmony_ci        m.get_one::<String>("f").map(|v| v.as_str()).unwrap(),
18219625d8cSopenharmony_ci        "other"
18319625d8cSopenharmony_ci    );
18419625d8cSopenharmony_ci}
18519625d8cSopenharmony_ci
18619625d8cSopenharmony_ci#[test]
18719625d8cSopenharmony_cifn conflict_overridden() {
18819625d8cSopenharmony_ci    let m = Command::new("conflict_overridden")
18919625d8cSopenharmony_ci        .arg(
19019625d8cSopenharmony_ci            arg!(-f --flag "some flag")
19119625d8cSopenharmony_ci                .conflicts_with("debug")
19219625d8cSopenharmony_ci                .action(ArgAction::SetTrue),
19319625d8cSopenharmony_ci        )
19419625d8cSopenharmony_ci        .arg(arg!(-d --debug "other flag").action(ArgAction::SetTrue))
19519625d8cSopenharmony_ci        .arg(
19619625d8cSopenharmony_ci            arg!(-c --color "third flag")
19719625d8cSopenharmony_ci                .overrides_with("flag")
19819625d8cSopenharmony_ci                .action(ArgAction::SetTrue),
19919625d8cSopenharmony_ci        )
20019625d8cSopenharmony_ci        .try_get_matches_from(vec!["", "-f", "-c", "-d"])
20119625d8cSopenharmony_ci        .unwrap();
20219625d8cSopenharmony_ci    assert!(*m.get_one::<bool>("color").expect("defaulted by clap"));
20319625d8cSopenharmony_ci    assert!(!*m.get_one::<bool>("flag").expect("defaulted by clap"));
20419625d8cSopenharmony_ci    assert!(*m.get_one::<bool>("debug").expect("defaulted by clap"));
20519625d8cSopenharmony_ci}
20619625d8cSopenharmony_ci
20719625d8cSopenharmony_ci#[test]
20819625d8cSopenharmony_cifn conflict_overridden_2() {
20919625d8cSopenharmony_ci    let result = Command::new("conflict_overridden")
21019625d8cSopenharmony_ci        .arg(
21119625d8cSopenharmony_ci            arg!(-f --flag "some flag")
21219625d8cSopenharmony_ci                .conflicts_with("debug")
21319625d8cSopenharmony_ci                .action(ArgAction::SetTrue),
21419625d8cSopenharmony_ci        )
21519625d8cSopenharmony_ci        .arg(arg!(-d --debug "other flag").action(ArgAction::SetTrue))
21619625d8cSopenharmony_ci        .arg(
21719625d8cSopenharmony_ci            arg!(-c --color "third flag")
21819625d8cSopenharmony_ci                .overrides_with("flag")
21919625d8cSopenharmony_ci                .action(ArgAction::SetTrue),
22019625d8cSopenharmony_ci        )
22119625d8cSopenharmony_ci        .try_get_matches_from(vec!["", "-f", "-d", "-c"]);
22219625d8cSopenharmony_ci    assert!(result.is_ok(), "{}", result.unwrap_err());
22319625d8cSopenharmony_ci    let m = result.unwrap();
22419625d8cSopenharmony_ci    assert!(*m.get_one::<bool>("color").expect("defaulted by clap"));
22519625d8cSopenharmony_ci    assert!(*m.get_one::<bool>("debug").expect("defaulted by clap"));
22619625d8cSopenharmony_ci    assert!(!*m.get_one::<bool>("flag").expect("defaulted by clap"));
22719625d8cSopenharmony_ci}
22819625d8cSopenharmony_ci
22919625d8cSopenharmony_ci#[test]
23019625d8cSopenharmony_cifn conflict_overridden_3() {
23119625d8cSopenharmony_ci    let result = Command::new("conflict_overridden")
23219625d8cSopenharmony_ci        .arg(arg!(-f --flag "some flag").conflicts_with("debug"))
23319625d8cSopenharmony_ci        .arg(arg!(-d --debug "other flag"))
23419625d8cSopenharmony_ci        .arg(arg!(-c --color "third flag").overrides_with("flag"))
23519625d8cSopenharmony_ci        .try_get_matches_from(vec!["", "-d", "-c", "-f"]);
23619625d8cSopenharmony_ci    assert!(result.is_err());
23719625d8cSopenharmony_ci    let err = result.err().unwrap();
23819625d8cSopenharmony_ci    assert_eq!(err.kind(), ErrorKind::ArgumentConflict);
23919625d8cSopenharmony_ci}
24019625d8cSopenharmony_ci
24119625d8cSopenharmony_ci#[test]
24219625d8cSopenharmony_cifn conflict_overridden_4() {
24319625d8cSopenharmony_ci    let m = Command::new("conflict_overridden")
24419625d8cSopenharmony_ci        .arg(
24519625d8cSopenharmony_ci            arg!(-f --flag "some flag")
24619625d8cSopenharmony_ci                .conflicts_with("debug")
24719625d8cSopenharmony_ci                .action(ArgAction::SetTrue),
24819625d8cSopenharmony_ci        )
24919625d8cSopenharmony_ci        .arg(arg!(-d --debug "other flag").action(ArgAction::SetTrue))
25019625d8cSopenharmony_ci        .arg(
25119625d8cSopenharmony_ci            arg!(-c --color "third flag")
25219625d8cSopenharmony_ci                .overrides_with("flag")
25319625d8cSopenharmony_ci                .action(ArgAction::SetTrue),
25419625d8cSopenharmony_ci        )
25519625d8cSopenharmony_ci        .try_get_matches_from(vec!["", "-d", "-f", "-c"])
25619625d8cSopenharmony_ci        .unwrap();
25719625d8cSopenharmony_ci    assert!(*m.get_one::<bool>("color").expect("defaulted by clap"));
25819625d8cSopenharmony_ci    assert!(!*m.get_one::<bool>("flag").expect("defaulted by clap"));
25919625d8cSopenharmony_ci    assert!(*m.get_one::<bool>("debug").expect("defaulted by clap"));
26019625d8cSopenharmony_ci}
26119625d8cSopenharmony_ci
26219625d8cSopenharmony_ci#[test]
26319625d8cSopenharmony_cifn pos_required_overridden_by_flag() {
26419625d8cSopenharmony_ci    let result = Command::new("require_overridden")
26519625d8cSopenharmony_ci        .arg(Arg::new("pos").index(1).required(true))
26619625d8cSopenharmony_ci        .arg(arg!(-c --color "some flag").overrides_with("pos"))
26719625d8cSopenharmony_ci        .try_get_matches_from(vec!["", "test", "-c"]);
26819625d8cSopenharmony_ci    assert!(result.is_ok(), "{:?}", result.unwrap_err());
26919625d8cSopenharmony_ci}
27019625d8cSopenharmony_ci
27119625d8cSopenharmony_ci#[test]
27219625d8cSopenharmony_cifn require_overridden_2() {
27319625d8cSopenharmony_ci    let m = Command::new("require_overridden")
27419625d8cSopenharmony_ci        .arg(Arg::new("req_pos").required(true))
27519625d8cSopenharmony_ci        .arg(
27619625d8cSopenharmony_ci            arg!(-c --color "other flag")
27719625d8cSopenharmony_ci                .overrides_with("req_pos")
27819625d8cSopenharmony_ci                .action(ArgAction::SetTrue),
27919625d8cSopenharmony_ci        )
28019625d8cSopenharmony_ci        .try_get_matches_from(vec!["", "-c", "req_pos"])
28119625d8cSopenharmony_ci        .unwrap();
28219625d8cSopenharmony_ci    assert!(!*m.get_one::<bool>("color").expect("defaulted by clap"));
28319625d8cSopenharmony_ci    assert!(m.contains_id("req_pos"));
28419625d8cSopenharmony_ci}
28519625d8cSopenharmony_ci
28619625d8cSopenharmony_ci#[test]
28719625d8cSopenharmony_cifn require_overridden_3() {
28819625d8cSopenharmony_ci    let m = Command::new("require_overridden")
28919625d8cSopenharmony_ci        .arg(
29019625d8cSopenharmony_ci            arg!(-f --flag "some flag")
29119625d8cSopenharmony_ci                .requires("debug")
29219625d8cSopenharmony_ci                .action(ArgAction::SetTrue),
29319625d8cSopenharmony_ci        )
29419625d8cSopenharmony_ci        .arg(arg!(-d --debug "other flag").action(ArgAction::SetTrue))
29519625d8cSopenharmony_ci        .arg(
29619625d8cSopenharmony_ci            arg!(-c --color "third flag")
29719625d8cSopenharmony_ci                .overrides_with("flag")
29819625d8cSopenharmony_ci                .action(ArgAction::SetTrue),
29919625d8cSopenharmony_ci        )
30019625d8cSopenharmony_ci        .try_get_matches_from(vec!["", "-f", "-c"])
30119625d8cSopenharmony_ci        .unwrap();
30219625d8cSopenharmony_ci    assert!(*m.get_one::<bool>("color").expect("defaulted by clap"));
30319625d8cSopenharmony_ci    assert!(!*m.get_one::<bool>("flag").expect("defaulted by clap"));
30419625d8cSopenharmony_ci    assert!(!*m.get_one::<bool>("debug").expect("defaulted by clap"));
30519625d8cSopenharmony_ci}
30619625d8cSopenharmony_ci
30719625d8cSopenharmony_ci#[test]
30819625d8cSopenharmony_cifn require_overridden_4() {
30919625d8cSopenharmony_ci    let result = Command::new("require_overridden")
31019625d8cSopenharmony_ci        .arg(arg!(-f --flag "some flag").requires("debug"))
31119625d8cSopenharmony_ci        .arg(arg!(-d --debug "other flag"))
31219625d8cSopenharmony_ci        .arg(arg!(-c --color "third flag").overrides_with("flag"))
31319625d8cSopenharmony_ci        .try_get_matches_from(vec!["", "-c", "-f"]);
31419625d8cSopenharmony_ci    assert!(result.is_err());
31519625d8cSopenharmony_ci    let err = result.err().unwrap();
31619625d8cSopenharmony_ci    assert_eq!(err.kind(), ErrorKind::MissingRequiredArgument);
31719625d8cSopenharmony_ci}
31819625d8cSopenharmony_ci
31919625d8cSopenharmony_ci#[test]
32019625d8cSopenharmony_cifn incremental_override() {
32119625d8cSopenharmony_ci    let mut cmd = Command::new("test")
32219625d8cSopenharmony_ci        .arg(arg!(--name <NAME> ...).required(true))
32319625d8cSopenharmony_ci        .arg(
32419625d8cSopenharmony_ci            arg!(--"no-name")
32519625d8cSopenharmony_ci                .overrides_with("name")
32619625d8cSopenharmony_ci                .action(ArgAction::SetTrue),
32719625d8cSopenharmony_ci        );
32819625d8cSopenharmony_ci    let m = cmd
32919625d8cSopenharmony_ci        .try_get_matches_from_mut(["test", "--name=ahmed", "--no-name", "--name=ali"])
33019625d8cSopenharmony_ci        .unwrap();
33119625d8cSopenharmony_ci    assert_eq!(
33219625d8cSopenharmony_ci        m.get_many::<String>("name")
33319625d8cSopenharmony_ci            .unwrap()
33419625d8cSopenharmony_ci            .map(|v| v.as_str())
33519625d8cSopenharmony_ci            .collect::<Vec<_>>(),
33619625d8cSopenharmony_ci        ["ali"]
33719625d8cSopenharmony_ci    );
33819625d8cSopenharmony_ci    assert!(!*m.get_one::<bool>("no-name").expect("defaulted by clap"));
33919625d8cSopenharmony_ci}
34019625d8cSopenharmony_ci
34119625d8cSopenharmony_ci#[cfg(debug_assertions)]
34219625d8cSopenharmony_ci#[test]
34319625d8cSopenharmony_ci#[should_panic = "Argument or group 'extra' specified in 'overrides_with*' for 'config' does not exist"]
34419625d8cSopenharmony_cifn overrides_with_invalid_arg() {
34519625d8cSopenharmony_ci    let _ = Command::new("prog")
34619625d8cSopenharmony_ci        .arg(Arg::new("config").long("config").overrides_with("extra"))
34719625d8cSopenharmony_ci        .try_get_matches_from(vec!["", "--config"]);
34819625d8cSopenharmony_ci}
349