Rollup merge of #115943 - ehuss:compiletest-errors, r=compiler-errors

compiletest: Don't swallow some error messages.

This updates some error handling in compiletest to display the underlying error rather than discarding it. There have been cases where the lack of error information makes it difficult to understand what went wrong.
This commit is contained in:
Matthias Krüger 2023-09-19 01:29:44 +02:00 committed by GitHub
commit 8c5fc204bd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -695,7 +695,7 @@ fn run_llvm_tool(&self, name: &str, configure_cmd_fn: impl FnOnce(&mut Command))
}
fn run_command_to_procres(&self, cmd: &mut Command) -> ProcRes {
let output = cmd.output().unwrap_or_else(|_| panic!("failed to exec `{cmd:?}`"));
let output = cmd.output().unwrap_or_else(|e| panic!("failed to exec `{cmd:?}`: {e:?}"));
let proc_res = ProcRes {
status: output.status,
@ -1216,12 +1216,12 @@ fn run_debuginfo_gdb_test_no_opt(&self) {
.arg(&exe_file)
.arg(&self.config.adb_test_dir)
.status()
.unwrap_or_else(|_| panic!("failed to exec `{:?}`", adb_path));
.unwrap_or_else(|e| panic!("failed to exec `{adb_path:?}`: {e:?}"));
Command::new(adb_path)
.args(&["forward", "tcp:5039", "tcp:5039"])
.status()
.unwrap_or_else(|_| panic!("failed to exec `{:?}`", adb_path));
.unwrap_or_else(|e| panic!("failed to exec `{adb_path:?}`: {e:?}"));
let adb_arg = format!(
"export LD_LIBRARY_PATH={}; \
@ -1238,7 +1238,7 @@ fn run_debuginfo_gdb_test_no_opt(&self) {
.stdout(Stdio::piped())
.stderr(Stdio::inherit())
.spawn()
.unwrap_or_else(|_| panic!("failed to exec `{:?}`", adb_path));
.unwrap_or_else(|e| panic!("failed to exec `{adb_path:?}`: {e:?}"));
// Wait for the gdbserver to print out "Listening on port ..."
// at which point we know that it's started and then we can
@ -1263,7 +1263,7 @@ fn run_debuginfo_gdb_test_no_opt(&self) {
let Output { status, stdout, stderr } = Command::new(&gdb_path)
.args(debugger_opts)
.output()
.unwrap_or_else(|_| panic!("failed to exec `{:?}`", gdb_path));
.unwrap_or_else(|e| panic!("failed to exec `{gdb_path:?}`: {e:?}"));
let cmdline = {
let mut gdb = Command::new(&format!("{}-gdb", self.config.target));
gdb.args(debugger_opts);
@ -2277,7 +2277,7 @@ fn compose_and_run(
add_dylib_path(&mut command, iter::once(lib_path).chain(aux_path));
let mut child = disable_error_reporting(|| command.spawn())
.unwrap_or_else(|_| panic!("failed to exec `{:?}`", &command));
.unwrap_or_else(|e| panic!("failed to exec `{command:?}`: {e:?}"));
if let Some(input) = input {
child.stdin.as_mut().unwrap().write_all(input.as_bytes()).unwrap();
}
@ -3847,8 +3847,8 @@ fn run_ui_test(&self) {
.open(coverage_file_path.as_path())
.expect("could not create or open file");
if writeln!(file, "{}", self.testpaths.file.display()).is_err() {
panic!("couldn't write to {}", coverage_file_path.display());
if let Err(e) = writeln!(file, "{}", self.testpaths.file.display()) {
panic!("couldn't write to {}: {e:?}", coverage_file_path.display());
}
}
} else if self.props.run_rustfix {