Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'helix-term/tests/test/helpers.rs')
| -rw-r--r-- | helix-term/tests/test/helpers.rs | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/helix-term/tests/test/helpers.rs b/helix-term/tests/test/helpers.rs index d7205b0c..70b3f402 100644 --- a/helix-term/tests/test/helpers.rs +++ b/helix-term/tests/test/helpers.rs @@ -305,6 +305,18 @@ pub fn new_readonly_tempfile() -> anyhow::Result<NamedTempFile> { Ok(file) } +/// Creates a new temporary file in the directory that is set to read only. Useful for +/// testing write failures. +pub fn new_readonly_tempfile_in_dir( + dir: impl AsRef<std::path::Path>, +) -> anyhow::Result<NamedTempFile> { + let mut file = tempfile::NamedTempFile::new_in(dir)?; + let metadata = file.as_file().metadata()?; + let mut perms = metadata.permissions(); + perms.set_readonly(true); + file.as_file_mut().set_permissions(perms)?; + Ok(file) +} pub struct AppBuilder { args: Args, config: Config, |