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