about summary refs log tree commit diff
diff options
context:
space:
mode:
authorOliver Middleton <olliemail27@gmail.com>2017-06-05 17:57:32 +0100
committerOliver Middleton <olliemail27@gmail.com>2017-06-05 17:57:32 +0100
commit02955f508e577d104bcd0f6b8b92e7a7b4657708 (patch)
tree62707206cca641674774e1f226946cf171c82283
parent7afcf51fe4f635ff4e864ee13085397b41880fa6 (diff)
Add run-make test for Command::spawn on Windows
Make sure args aren't interpreted as part of the program name.
-rw-r--r--src/test/run-make/windows-spawn/Makefile14
-rw-r--r--src/test/run-make/windows-spawn/hello.rs13
-rw-r--r--src/test/run-make/windows-spawn/spawn.rs22
3 files changed, 49 insertions, 0 deletions
diff --git a/src/test/run-make/windows-spawn/Makefile b/src/test/run-make/windows-spawn/Makefile
new file mode 100644
index 00000000000..f0d4242260f
--- /dev/null
+++ b/src/test/run-make/windows-spawn/Makefile
@@ -0,0 +1,14 @@
+-include ../tools.mk
+
+ifdef IS_WINDOWS
+
+all:
+	$(RUSTC) -o "$(TMPDIR)/hopefullydoesntexist bar.exe" hello.rs
+	$(RUSTC) spawn.rs
+	$(TMPDIR)/spawn.exe
+
+else
+
+all:
+
+endif
diff --git a/src/test/run-make/windows-spawn/hello.rs b/src/test/run-make/windows-spawn/hello.rs
new file mode 100644
index 00000000000..b177f41941d
--- /dev/null
+++ b/src/test/run-make/windows-spawn/hello.rs
@@ -0,0 +1,13 @@
+// Copyright 2017 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+fn main() {
+    println!("Hello World!");
+}
diff --git a/src/test/run-make/windows-spawn/spawn.rs b/src/test/run-make/windows-spawn/spawn.rs
new file mode 100644
index 00000000000..2913cbe2260
--- /dev/null
+++ b/src/test/run-make/windows-spawn/spawn.rs
@@ -0,0 +1,22 @@
+// Copyright 2017 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+use std::io::ErrorKind;
+use std::process::Command;
+
+fn main() {
+    // Make sure it doesn't try to run "hopefullydoesntexist bar.exe".
+    assert_eq!(Command::new("hopefullydoesntexist")
+                   .arg("bar")
+                   .spawn()
+                   .unwrap_err()
+                   .kind(),
+               ErrorKind::NotFound);
+}