pub struct TempDir { /* private fields */ }
Expand description
Provides a function to creating a temporary directory that will be automatically removed upon being dropped.
Implementations§
Source§impl TempDir
impl TempDir
Sourcepub fn new() -> Self
pub fn new() -> Self
Create a randomly named temporary directory.
§Panics
This function panics if the temporary directory cannot be created.
(because testing cannot proceed)
Sourcepub fn with_path<P: AsRef<Path>>(path: P) -> Self
pub fn with_path<P: AsRef<Path>>(path: P) -> Self
Create a temporary directory with a specified path.
§Panics
This function triggers a panic under the following conditions.
(because testing cannot proceed)
- Attempting to access the parent directory (which may result in escaping from
OUT_DIR
). - Attempting to access the root directory (for the same reason).
- Specifying the current directory (which may lead to the deletion of
OUT_DIR
). - Failing to create the temporary directory.
Sourcepub fn with_path_safe<P: AsRef<Path>>(path: P) -> Result<Self>
pub fn with_path_safe<P: AsRef<Path>>(path: P) -> Result<Self>
Create a temporary directory with a specified path.
§Errors
Attempting to access the parent directory will result in a ParentDirContains
error, as it could lead to escaping from OUT_DIR
.
Similarly, attempting to access the root directory will result in a RootDirContains
error for the same reason.
If the current directory is specified, there is a potential risk of deleting OUT_DIR
, resulting in an InvalidPath
error.
If the temporary directory cannot be created, it will lead to an Io
error.