summaryrefslogtreecommitdiff
path: root/tests/cli.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/cli.rs')
-rw-r--r--tests/cli.rs18
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/cli.rs b/tests/cli.rs
index 01c3347..34249c2 100644
--- a/tests/cli.rs
+++ b/tests/cli.rs
@@ -2,6 +2,7 @@ mod cli_test_utils;
use anyhow::Result;
use cli_test_utils::*;
+use std::os::unix::fs::MetadataExt;
const REPO_NAME: &str = "my-repository";
const REPO_NAME_2: &str = "my-other-repository";
@@ -83,6 +84,23 @@ fn can_init_a_new_shared_git_repo() -> Result<()> {
verify_repo_exists(&repo_dir);
verify_repo_config_value(&repo_dir, "core.sharedrepository", Some("1"));
+ let expected_gid = nix::unistd::Group::from_name(&group)
+ .unwrap()
+ .unwrap()
+ .gid
+ .as_raw();
+ let group_dir = repo_dir.parent().unwrap();
+ let group_dir_metadata = group_dir.metadata().unwrap();
+ assert_eq!(group_dir_metadata.gid(), expected_gid);
+ assert_eq!(
+ group_dir_metadata.mode(),
+ 0o42770,
+ "Mode is {:o}",
+ group_dir_metadata.mode()
+ );
+
+ assert_eq!(repo_dir.metadata().unwrap().gid(), expected_gid);
+
Ok(())
}