# Working with temporary directories in Rust test A zero dependencies crate to deal with temporary directories in tests. To use it add ``` [dev-dependencies] temp_testdir = "0.2" ``` ## How to use ```rust #[test] fn should_delete_temp_dir() { let temp = TempDir::default(); // You can use `temp` as a `Path` let mut file_path = PathBuf::from(temp.as_ref()); file_path.push("hello.txt"); let mut f = File::create(file_path.clone()).unwrap(); f.write_all("Hello World!".as_bytes()); my_app.process(&file_path); // Temp dir will be deleted at the end of the test } ``` If you need to not delete the dir when test is done you can use ```rust let temp = TempDir::default().permanent(); ``` ## Where the dirs are All dirs will be in your system standard temp dir follow by `rstest.` where `nr` is the lowest integer that can be used to crate it. You can change this behaviour by two envirorment variables: - `RSTEST_TEMP_DIR_ROOT`: root of all temp dir (default system temp dir) - `RSTEST_TEMP_DIR_ROOT_NAME`: prefix dir name (default system `rstest`) ## License Licensed under either of * Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0) * MIT license ([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT) at your option.