about summary refs log tree commit diff
diff options
context:
space:
mode:
authorSean Patrick Santos <SeanPatrickSantos@gmail.com>2015-01-22 11:54:45 -0700
committerSean Patrick Santos <SeanPatrickSantos@gmail.com>2015-01-22 11:54:45 -0700
commit918dd3488f450383c5ce27f0a27f45fa3fc9d0d6 (patch)
treee33144b394d53622caf3d685312066ec2a488b05
parent06d401948ba7451d8ed10b4a58e1e2d08c0094f7 (diff)
downloadrust-918dd3488f450383c5ce27f0a27f45fa3fc9d0d6.tar.gz
rust-918dd3488f450383c5ce27f0a27f45fa3fc9d0d6.zip
Attempt fix for assertion on Windows, and add extra output for debugging.
-rw-r--r--src/test/run-pass/issue-15149.rs15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/test/run-pass/issue-15149.rs b/src/test/run-pass/issue-15149.rs
index 59b1bb287fa..4b345f639e4 100644
--- a/src/test/run-pass/issue-15149.rs
+++ b/src/test/run-pass/issue-15149.rs
@@ -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()));
 }