diff options
Diffstat (limited to 'tests/cli.rs')
-rw-r--r-- | tests/cli.rs | 18 |
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(()) } |