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.