Skip to content

Commit

Permalink
try uid test again
Browse files Browse the repository at this point in the history
  • Loading branch information
kirawi committed Dec 31, 2024
1 parent b7e4923 commit d65a2fb
Showing 1 changed file with 30 additions and 0 deletions.
30 changes: 30 additions & 0 deletions helix-term/tests/test/commands/write.rs
Original file line number Diff line number Diff line change
Expand Up @@ -687,6 +687,36 @@ async fn test_hardlink_write() -> anyhow::Result<()> {
Ok(())
}

#[tokio::test(flavor = "multi_thread")]
#[cfg(unix)]
async fn test_write_ownership() -> anyhow::Result<()> {
// GH CI does not possess CAP_CHOWN
if option_env!("GITHUB_ACTIONS").is_some() {
return Ok(());
}
use std::os::unix::fs::MetadataExt;

let mut file = tempfile::NamedTempFile::new()?;
let mut app = helpers::AppBuilder::new()
.with_file(file.path(), None)
.build()?;

let nobody_uid = 9999;
let nogroup_gid = 9999;

helix_stdx::faccess::fchown(&file.as_file_mut(), Some(nobody_uid), Some(nogroup_gid))?;

let old_meta = file.as_file().metadata()?;

test_key_sequence(&mut app, Some("hello:w<ret>"), None, false).await?;
reload_file(&mut file).unwrap();

let new_meta = file.as_file().metadata()?;
assert!(old_meta.uid() == new_meta.uid() && old_meta.gid() == new_meta.gid());

Ok(())
}

async fn edit_file_with_content(file_content: &[u8]) -> anyhow::Result<()> {
let mut file = tempfile::NamedTempFile::new()?;

Expand Down

0 comments on commit d65a2fb

Please sign in to comment.