Skip to content

Commit

Permalink
Handle gdb command failure gracefully in compiletest
Browse files Browse the repository at this point in the history
Previously, if the gdb command was available, but threw an error, compiletest would panic.  This is obviously not good. Now, gdb is treated as missing if calling `gdb --version` does not output anything on stdout.
  • Loading branch information
varkor committed Feb 23, 2018
1 parent 063deba commit 70db41c
Showing 1 changed file with 6 additions and 11 deletions.
17 changes: 6 additions & 11 deletions src/tools/compiletest/src/main.rs
Expand Up @@ -736,17 +736,12 @@ fn analyze_gdb(gdb: Option<String>) -> (Option<String>, Option<u32>, bool) {
Some(ref s) => s,
};

let version_line = Command::new(gdb)
.arg("--version")
.output()
.map(|output| {
String::from_utf8_lossy(&output.stdout)
.lines()
.next()
.unwrap()
.to_string()
})
.ok();
let mut version_line = None;
if let Ok(output) = Command::new(gdb).arg("--version").output() {
if let Some(first_line) = String::from_utf8_lossy(&output.stdout).lines().next() {
version_line = Some(first_line.to_string());
}
}

let version = match version_line {
Some(line) => extract_gdb_version(&line),
Expand Down

0 comments on commit 70db41c

Please sign in to comment.