]> git.lizzy.rs Git - rust.git/blobdiff - src/compiletest/compiletest.rs
rollup merge of #17355 : gamazeps/issue17210
[rust.git] / src / compiletest / compiletest.rs
index 31b37070d2f139f7f04ceb69bc76c9c25719e09b..8188cb17b27c805e8a7cf5a50dd7b5eee75ff04a 100644 (file)
@@ -259,7 +259,7 @@ pub fn run_tests(config: &Config) {
     // parallel (especially when we have lots and lots of child processes).
     // For context, see #8904
     io::test::raise_fd_limit();
-    let res = test::run_tests_console(&opts, tests.move_iter().collect());
+    let res = test::run_tests_console(&opts, tests.into_iter().collect());
     match res {
         Ok(true) => {}
         Ok(false) => fail!("Some tests failed"),
@@ -381,17 +381,23 @@ pub fn make_metrics_test_closure(config: &Config, testfile: &Path) -> test::Test
 
 fn extract_gdb_version(full_version_line: Option<String>) -> Option<String> {
     match full_version_line {
-        Some(full_version_line) => {
+        Some(ref full_version_line)
+          if full_version_line.as_slice().trim().len() > 0 => {
             let full_version_line = full_version_line.as_slice().trim();
-            let re = Regex::new(r"[^0-9]([0-9]\.[0-9])([^0-9]|$)").unwrap();
+
+            let re = Regex::new(r"(^|[^0-9])([0-9]\.[0-9])([^0-9]|$)").unwrap();
 
             match re.captures(full_version_line) {
                 Some(captures) => {
-                    Some(captures.at(1).to_string())
+                    Some(captures.at(2).to_string())
+                }
+                None => {
+                    println!("Could not extract GDB version from line '{}'",
+                             full_version_line);
+                    None
                 }
-                None => None
             }
         },
-        None => None
+        _ => None
     }
-}
\ No newline at end of file
+}