32 lines
935 B
Rust
32 lines
935 B
Rust
|
|
#![warn(rust_2018_idioms)]
|
||
|
|
#![cfg(all(feature = "full", not(target_os = "wasi")))] // WASI does not support all fs operations
|
||
|
|
|
||
|
|
use tempfile::tempdir;
|
||
|
|
use tokio::fs;
|
||
|
|
|
||
|
|
#[tokio::test]
|
||
|
|
async fn remove_dir_all() {
|
||
|
|
let temp_dir = tempdir().unwrap();
|
||
|
|
|
||
|
|
let test_dir = temp_dir.path().join("test");
|
||
|
|
fs::create_dir(&test_dir).await.unwrap();
|
||
|
|
|
||
|
|
let file_path = test_dir.as_path().join("a.txt");
|
||
|
|
|
||
|
|
fs::write(&file_path, b"Hello File!").await.unwrap();
|
||
|
|
|
||
|
|
fs::remove_dir_all(test_dir.as_path()).await.unwrap();
|
||
|
|
|
||
|
|
// test dir should no longer exist
|
||
|
|
match fs::try_exists(test_dir).await {
|
||
|
|
Ok(exists) => assert!(!exists),
|
||
|
|
Err(_) => println!("ignored try_exists error after remove_dir_all"),
|
||
|
|
};
|
||
|
|
|
||
|
|
// contents should no longer exist
|
||
|
|
match fs::try_exists(file_path).await {
|
||
|
|
Ok(exists) => assert!(!exists),
|
||
|
|
Err(_) => println!("ignored try_exists error after remove_dir_all"),
|
||
|
|
};
|
||
|
|
}
|