Skip to content

Commit

Permalink
Avoid double panics when using TempDir in tests
Browse files Browse the repository at this point in the history
  • Loading branch information
ChrisDenton committed Jan 25, 2022
1 parent df368ae commit 84c0c9d
Showing 1 changed file with 7 additions and 1 deletion.
8 changes: 7 additions & 1 deletion library/std/src/sys_common/io.rs
Expand Up @@ -8,6 +8,7 @@ pub mod test {
use crate::env;
use crate::fs;
use crate::path::{Path, PathBuf};
use crate::thread;
use rand::RngCore;

pub struct TempDir(PathBuf);
Expand All @@ -29,7 +30,12 @@ pub mod test {
// Gee, seeing how we're testing the fs module I sure hope that we
// at least implement this correctly!
let TempDir(ref p) = *self;
fs::remove_dir_all(p).unwrap();
let result = fs::remove_dir_all(p);
// Avoid panicking while panicking as this causes the process to
// immediately abort, without displaying test results.
if !thread::panicking() {
result.unwrap();
}
}
}

Expand Down

0 comments on commit 84c0c9d

Please sign in to comment.