39 lines · 1.2 KB · Rust
RawDownload
use git_config::file;use git_config::file::init; #[test]fn missing_includes_are_ignored_by_default() -> crate::Result {    let input = r#"        [include]            path = /etc/absolute/missing.config            path = relative-missing.config            path = ./also-relative-missing.config            path = %(prefix)/no-install.config            path = ~/no-user.config                    [includeIf "onbranch:no-branch"]            path = no-branch-provided.config        [includeIf "gitdir:./no-git-dir"]            path = no-git-dir.config    "#;     let mut config: git_config::File<'_> = input.parse()?;     let mut follow_options = file::includes::Options::follow(Default::default(), Default::default());    follow_options.err_on_missing_config_path = false;    config.resolve_includes(init::Options {        includes: follow_options,        ..Default::default()    })?;     assert!(        config            .resolve_includes(init::Options {                includes: follow_options.strict(),                ..Default::default()            })            .is_err(),        "strict mode fails if something couldn't be interpolated"    );    Ok(())}