]> git.lizzy.rs Git - rust.git/commitdiff
Attempt fix for assertion on Windows, and add extra output for debugging.
authorSean Patrick Santos <SeanPatrickSantos@gmail.com>
Thu, 22 Jan 2015 18:54:45 +0000 (11:54 -0700)
committerSean Patrick Santos <SeanPatrickSantos@gmail.com>
Thu, 22 Jan 2015 18:54:45 +0000 (11:54 -0700)
src/test/run-pass/issue-15149.rs

index 59b1bb287fa747869dea9c1ea4e72a0a87e18625..4b345f639e4cb1f629f2a0b4919d1d6ed684f029 100644 (file)
@@ -8,6 +8,7 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+use std::path::BytesContainer;
 use std::io::{Command, fs, USER_RWX};
 use std::os;
 
@@ -15,7 +16,8 @@ fn main() {
     // If we're the child, make sure we were invoked correctly
     let args = os::args();
     if args.len() > 1 && args[1].as_slice() == "child" {
-        return assert_eq!(args[0].as_slice(), "mytest");
+        return assert_eq!(args[0],
+                          format!("mytest{}", os::consts::EXE_SUFFIX));
     }
 
     test();
@@ -38,7 +40,12 @@ fn test() {
     path.push(child_dir.clone());
     let path = os::join_paths(path.as_slice()).unwrap();
 
-    assert!(Command::new("mytest").env("PATH", path.as_slice())
-                                  .arg("child")
-                                  .status().unwrap().success());
+    let child_output = Command::new("mytest").env("PATH", path.as_slice())
+                                             .arg("child")
+                                             .output().unwrap();
+
+    assert!(child_output.status.success(),
+            format!("child assertion failed\n child stdout:\n {}\n child stderr:\n {}",
+                    child_output.output.container_as_str().unwrap(),
+                    child_output.error.container_as_str().unwrap()));
 }