Rollup merge of #48488 - varkor:handle-gdb-error-compiletest, r=michaelwoerister

Handle gdb command failure gracefully in compiletest

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.
This commit is contained in:
kennytm 2018-02-28 19:15:36 +08:00 committed by GitHub
commit a3fecfb8e9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -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),