blob: 7b9615c98ccf92c692ddedaead128b0be1737d79 [file] [log] [blame]
use std::{fs, thread, time::Duration};
use notify::{immediate_watcher, RecursiveMode, Watcher};
/// Test for <https://github.com/notify-rs/notify/issues/301>.
/// Note: This test will fail if your temp directory is not writable.
#[test]
fn test_race_with_remove_dir() {
let tmpdir = tempfile::tempdir().unwrap();
{
let tmpdir = tmpdir.path().to_path_buf();
thread::spawn(move || {
let mut watcher = immediate_watcher(move |result| {
eprintln!("received event: {:?}", result);
})
.unwrap();
watcher.watch(tmpdir, RecursiveMode::NonRecursive).unwrap();
});
}
let subdir = tmpdir.path().join("146d921d.tmp");
fs::create_dir_all(&subdir).unwrap();
fs::remove_dir_all(&tmpdir).unwrap();
thread::sleep(Duration::from_secs(1));
}