about summary refs log tree commit diff
diff options
context:
space:
mode:
authorBrian Anderson <banderson@mozilla.com>2011-10-19 16:50:03 -0700
committerBrian Anderson <banderson@mozilla.com>2011-10-20 18:23:48 -0700
commitc10eb221da59f6fabe308e79d11df5b86855da5a (patch)
tree0072e619f558393a431152a34e84f1acdeb1c261
parent5c38f7dfd7ccf2e57913500f8a7548b2b8de1932 (diff)
downloadrust-c10eb221da59f6fabe308e79d11df5b86855da5a.tar.gz
rust-c10eb221da59f6fabe308e79d11df5b86855da5a.zip
Get windows working under the bare function regime
Had to ignore some task failure tests due to the current implementation
of spawn which guarantees that there's always something in the spawned
task that needs to be unwound.

Fixed some win-specific build problems.
-rw-r--r--src/compiletest/procsrv.rs2
-rw-r--r--src/test/run-pass/terminate-in-initializer.rs1
-rw-r--r--src/test/stdtest/task.rs16
3 files changed, 18 insertions, 1 deletions
diff --git a/src/compiletest/procsrv.rs b/src/compiletest/procsrv.rs
index 4083029c4f5..f3c7bc9406c 100644
--- a/src/compiletest/procsrv.rs
+++ b/src/compiletest/procsrv.rs
@@ -164,7 +164,7 @@ fn maybe_with_lib_path<@T>(_path: str, f: fn@() -> T) -> T {
     f()
 }
 
-fn with_lib_path<@T>(path: str, f: fn() -> T) -> T {
+fn with_lib_path<@T>(path: str, f: fn@() -> T) -> T {
     let maybe_oldpath = getenv(util::lib_path_env_var());
     append_lib_path(path);
     let res = f();
diff --git a/src/test/run-pass/terminate-in-initializer.rs b/src/test/run-pass/terminate-in-initializer.rs
index 45a61c30201..ca67e2ead6e 100644
--- a/src/test/run-pass/terminate-in-initializer.rs
+++ b/src/test/run-pass/terminate-in-initializer.rs
@@ -1,3 +1,4 @@
+// xfail-win32 leaks
 // Issue #787
 // Don't try to clean up uninitizaed locals
 
diff --git a/src/test/stdtest/task.rs b/src/test/stdtest/task.rs
index bc34428e5b2..8ed8b56af3d 100644
--- a/src/test/stdtest/task.rs
+++ b/src/test/stdtest/task.rs
@@ -5,7 +5,15 @@ import std::comm;
 #[test]
 fn test_sleep() { task::sleep(1000000u); }
 
+// FIXME: Leaks on windows
 #[test]
+#[cfg(target_os = "win32")]
+#[ignore]
+fn test_unsupervise() { }
+
+#[test]
+#[cfg(target_os = "macos")]
+#[cfg(target_os = "linux")]
 fn test_unsupervise() {
     fn# f(&&_i: ()) { task::unsupervise(); fail; }
     task::spawn((), f);
@@ -38,7 +46,15 @@ fn test_join_chan() {
     }
 }
 
+// FIXME: Leaks on windows
+#[test]
+#[cfg(target_os = "win32")]
+#[ignore]
+fn test_join_chan_fail() { }
+
 #[test]
+#[cfg(target_os = "macos")]
+#[cfg(target_os = "linux")]
 fn test_join_chan_fail() {
     fn# failer(&&_i: ()) { task::unsupervise(); fail }