Skip to content

Commit d4eab8a

Browse files
committed
remove old remove_and_create_dir_all and use build_helpers remove_and_create_dir_all
1 parent 003d633 commit d4eab8a

File tree

3 files changed

+25
-14
lines changed

3 files changed

+25
-14
lines changed

src/tools/compiletest/src/runtest.rs

+19-12
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ use std::process::{Child, Command, ExitStatus, Output, Stdio};
99
use std::sync::Arc;
1010
use std::{env, iter, str};
1111

12+
use build_helper::fs::remove_and_create_dir_all;
1213
use camino::{Utf8Path, Utf8PathBuf};
1314
use colored::Colorize;
1415
use regex::{Captures, Regex};
@@ -207,12 +208,6 @@ pub fn compute_stamp_hash(config: &Config) -> String {
207208
format!("{:x}", hash.finish())
208209
}
209210

210-
fn remove_and_create_dir_all(path: &Utf8Path) {
211-
let path = path.as_std_path();
212-
let _ = fs::remove_dir_all(path);
213-
fs::create_dir_all(path).unwrap();
214-
}
215-
216211
#[derive(Copy, Clone, Debug)]
217212
struct TestCx<'test> {
218213
config: &'test Config,
@@ -523,7 +518,9 @@ impl<'test> TestCx<'test> {
523518
let mut rustc = Command::new(&self.config.rustc_path);
524519

525520
let out_dir = self.output_base_name().with_extension("pretty-out");
526-
remove_and_create_dir_all(&out_dir);
521+
remove_and_create_dir_all(&out_dir).unwrap_or_else(|e| {
522+
panic!("failed to remove and recreate output directory `{out_dir}`: {e}")
523+
});
527524

528525
let target = if self.props.force_host { &*self.config.host } else { &*self.config.target };
529526

@@ -1098,13 +1095,19 @@ impl<'test> TestCx<'test> {
10981095
let aux_dir = self.aux_output_dir_name();
10991096

11001097
if !self.props.aux.builds.is_empty() {
1101-
remove_and_create_dir_all(&aux_dir);
1098+
remove_and_create_dir_all(&aux_dir).unwrap_or_else(|e| {
1099+
panic!("failed to remove and recreate output directory `{aux_dir}`: {e}")
1100+
});
11021101
}
11031102

11041103
if !self.props.aux.bins.is_empty() {
11051104
let aux_bin_dir = self.aux_bin_output_dir_name();
1106-
remove_and_create_dir_all(&aux_dir);
1107-
remove_and_create_dir_all(&aux_bin_dir);
1105+
remove_and_create_dir_all(&aux_dir).unwrap_or_else(|e| {
1106+
panic!("failed to remove and recreate output directory `{aux_dir}`: {e}")
1107+
});
1108+
remove_and_create_dir_all(&aux_bin_dir).unwrap_or_else(|e| {
1109+
panic!("failed to remove and recreate output directory `{aux_bin_dir}`: {e}")
1110+
});
11081111
}
11091112

11101113
aux_dir
@@ -1509,7 +1512,9 @@ impl<'test> TestCx<'test> {
15091512

15101513
let set_mir_dump_dir = |rustc: &mut Command| {
15111514
let mir_dump_dir = self.get_mir_dump_dir();
1512-
remove_and_create_dir_all(&mir_dump_dir);
1515+
remove_and_create_dir_all(&mir_dump_dir).unwrap_or_else(|e| {
1516+
panic!("failed to remove and recreate output directory `{mir_dump_dir}`: {e}")
1517+
});
15131518
let mut dir_opt = "-Zdump-mir-dir=".to_string();
15141519
dir_opt.push_str(mir_dump_dir.as_str());
15151520
debug!("dir_opt: {:?}", dir_opt);
@@ -1969,7 +1974,9 @@ impl<'test> TestCx<'test> {
19691974
let suffix =
19701975
self.safe_revision().map_or("nightly".into(), |path| path.to_owned() + "-nightly");
19711976
let compare_dir = output_base_dir(self.config, self.testpaths, Some(&suffix));
1972-
remove_and_create_dir_all(&compare_dir);
1977+
remove_and_create_dir_all(&compare_dir).unwrap_or_else(|e| {
1978+
panic!("failed to remove and recreate output directory `{compare_dir}`: {e}")
1979+
});
19731980

19741981
// We need to create a new struct for the lifetimes on `config` to work.
19751982
let new_rustdoc = TestCx {

src/tools/compiletest/src/runtest/rustdoc.rs

+3-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,9 @@ impl TestCx<'_> {
77
assert!(self.revision.is_none(), "revisions not relevant here");
88

99
let out_dir = self.output_base_dir();
10-
remove_and_create_dir_all(&out_dir);
10+
remove_and_create_dir_all(&out_dir).unwrap_or_else(|e| {
11+
panic!("failed to remove and recreate output directory `{out_dir}`: {e}")
12+
});
1113

1214
let proc_res = self.document(&out_dir, &self.testpaths);
1315
if !proc_res.status.success() {

src/tools/compiletest/src/runtest/rustdoc_json.rs

+3-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,9 @@ impl TestCx<'_> {
99
assert!(self.revision.is_none(), "revisions not relevant here");
1010

1111
let out_dir = self.output_base_dir();
12-
remove_and_create_dir_all(&out_dir);
12+
remove_and_create_dir_all(&out_dir).unwrap_or_else(|e| {
13+
panic!("failed to remove and recreate output directory `{out_dir}`: {e}")
14+
});
1315

1416
let proc_res = self.document(&out_dir, &self.testpaths);
1517
if !proc_res.status.success() {

0 commit comments

Comments
 (0)