Skip to content

Commit

Permalink
another test indicating git-discover misclassifies .git/modules as …
Browse files Browse the repository at this point in the history
…worktree (#482)
  • Loading branch information
Byron committed Aug 17, 2022
1 parent b56b57c commit 9133141
Showing 1 changed file with 43 additions and 23 deletions.
66 changes: 43 additions & 23 deletions git-discover/tests/upwards/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -262,31 +262,51 @@ fn do_not_shorten_absolute_paths() -> crate::Result {
Ok(())
}

#[test]
#[ignore]
fn submodules() -> crate::Result {
let dir = git_testtools::scripted_fixture_repo_read_only("make_submodules.sh")?;
let parent = dir.join("with-submodules");
for module in ["m1", "dir/m1"] {
let submodule_m1_workdir = parent.join(module);
let (path, _trust) = git_discover::upwards(&submodule_m1_workdir)?;
assert!(
matches!(path, git_discover::repository::Path::WorkTree(ref dir) if dir == &submodule_m1_workdir),
"{:?} should match {:?}",
path,
submodule_m1_workdir
);
mod submodules {
#[test]
#[ignore]
fn by_their_worktree_checkout() -> crate::Result {
let dir = git_testtools::scripted_fixture_repo_read_only("make_submodules.sh")?;
let parent = dir.join("with-submodules");
for module in ["m1", "dir/m1"] {
let submodule_m1_workdir = parent.join(module);
let (path, _trust) = git_discover::upwards(&submodule_m1_workdir)?;
assert!(
matches!(path, git_discover::repository::Path::WorkTree(ref dir) if dir == &submodule_m1_workdir),
"{:?} should match {:?}",
path,
submodule_m1_workdir
);

let submodule_m1_subdir = submodule_m1_workdir.join("subdir");
let (path, _trust) = git_discover::upwards(&submodule_m1_subdir)?;
assert!(
matches!(path, git_discover::repository::Path::WorkTree(ref dir) if dir == &submodule_m1_subdir),
"{:?} should match {:?}",
path,
submodule_m1_subdir
);
}
Ok(())
}

let submodule_m1_subdir = submodule_m1_workdir.join("subdir");
let (path, _trust) = git_discover::upwards(&submodule_m1_subdir)?;
assert!(
matches!(path, git_discover::repository::Path::WorkTree(ref dir) if dir == &submodule_m1_subdir),
"{:?} should match {:?}",
path,
submodule_m1_subdir
);
#[test]
#[ignore]
fn by_their_module_git_dir() -> crate::Result {
let dir = git_testtools::scripted_fixture_repo_read_only("make_submodules.sh")?;
let modules = dir.join("with-submodules").join(".git").join("modules");
for module in ["m1", "dir/m1"] {
let submodule_m1_gitdir = modules.join(module);
let (path, _trust) = git_discover::upwards(&submodule_m1_gitdir)?;
assert!(
matches!(path, git_discover::repository::Path::Repository(ref dir) if dir == &submodule_m1_gitdir),
"{:?} should match {:?}",
path,
submodule_m1_gitdir
);
}
Ok(())
}
Ok(())
}

fn repo_path() -> crate::Result<PathBuf> {
Expand Down

0 comments on commit 9133141

Please sign in to comment.