about summary refs log tree commit diff
path: root/src/libcore
diff options
context:
space:
mode:
authorBrian Anderson <banderson@mozilla.com>2013-05-03 16:08:43 -0700
committerBrian Anderson <banderson@mozilla.com>2013-05-06 12:50:08 -0700
commitde8071234f66b984bf5a2ce33ec9100cb3204ea2 (patch)
tree8651f53a25b1bd4eb73cbbcf107ecf480e96a61e /src/libcore
parent4332f8188b5dca743dfe2913b3f50a7a693ee3ef (diff)
downloadrust-de8071234f66b984bf5a2ce33ec9100cb3204ea2.tar.gz
rust-de8071234f66b984bf5a2ce33ec9100cb3204ea2.zip
Move core::run tests of process killing into standalone run-pass tests
These cause valgrind errors in subprocesses. I don't *think* these errors
lead to actual test failures but they are very confusing.
Diffstat (limited to 'src/libcore')
-rw-r--r--src/libcore/run.rs70
1 files changed, 0 insertions, 70 deletions
diff --git a/src/libcore/run.rs b/src/libcore/run.rs
index 7e73b3a3f80..55b6c5100dd 100644
--- a/src/libcore/run.rs
+++ b/src/libcore/run.rs
@@ -855,74 +855,4 @@ mod tests {
     fn waitpid_non_existant_pid() {
         run::waitpid(123456789); // assume that this pid doesn't exist
     }
-
-    #[test]
-    fn test_destroy_once() {
-        let mut p = run::start_program("echo", []);
-        p.destroy(); // this shouldn't crash (and nor should the destructor)
-    }
-
-    #[test]
-    fn test_destroy_twice() {
-        let mut p = run::start_program("echo", []);
-        p.destroy(); // this shouldnt crash...
-        p.destroy(); // ...and nor should this (and nor should the destructor)
-    }
-
-    fn test_destroy_actually_kills(force: bool) {
-
-        #[cfg(unix)]
-        static BLOCK_COMMAND: &'static str = "cat";
-
-        #[cfg(windows)]
-        static BLOCK_COMMAND: &'static str = "cmd";
-
-        #[cfg(unix)]
-        fn process_exists(pid: libc::pid_t) -> bool {
-            run::program_output("ps", [~"-p", pid.to_str()]).out.contains(pid.to_str())
-        }
-
-        #[cfg(windows)]
-        fn process_exists(pid: libc::pid_t) -> bool {
-
-            use libc::types::os::arch::extra::DWORD;
-            use libc::funcs::extra::kernel32::{CloseHandle, GetExitCodeProcess, OpenProcess};
-            use libc::consts::os::extra::{FALSE, PROCESS_QUERY_INFORMATION, STILL_ACTIVE };
-
-            unsafe {
-                let proc = OpenProcess(PROCESS_QUERY_INFORMATION, FALSE, pid as DWORD);
-                if proc.is_null() {
-                    return false;
-                }
-                // proc will be non-null if the process is alive, or if it died recently
-                let mut status = 0;
-                GetExitCodeProcess(proc, &mut status);
-                CloseHandle(proc);
-                return status == STILL_ACTIVE;
-            }
-        }
-
-        // this program will stay alive indefinitely trying to read from stdin
-        let mut p = run::start_program(BLOCK_COMMAND, []);
-
-        assert!(process_exists(p.get_id()));
-
-        if force {
-            p.force_destroy();
-        } else {
-            p.destroy();
-        }
-
-        assert!(!process_exists(p.get_id()));
-    }
-
-    #[test]
-    fn test_unforced_destroy_actually_kills() {
-        test_destroy_actually_kills(false);
-    }
-
-    #[test]
-    fn test_forced_destroy_actually_kills() {
-        test_destroy_actually_kills(true);
-    }
 }