test: Fix signal-exit-status on windows

This commit is contained in:
klutzy 2013-11-14 02:58:19 +09:00
parent fcf9844891
commit 09cb7ecc67
2 changed files with 5 additions and 2 deletions

View File

@ -82,6 +82,7 @@ pub enum StdioContainer {
}
/// Describes the result of a process after it has terminated.
/// Note that Windows have no signals, so the result is usually ExitStatus.
#[deriving(Eq)]
pub enum ProcessExit {
/// Normal termination with an exit status.

View File

@ -8,7 +8,7 @@
// option. this file may not be copied, modified, or distributed
// except according to those terms.
// xfail-fast
// xfail-fast calling itself doesn't work on check-fast
use std::{os, run};
use std::io::process;
@ -20,8 +20,10 @@ fn main() {
unsafe { *(0 as *mut int) = 0; }
} else {
let status = run::process_status(args[0], [~"signal"]);
// Windows does not have signal, so we get exit status 0xC0000028 (STATUS_BAD_STACK).
match status {
process::ExitSignal(_) => {},
process::ExitSignal(_) if cfg!(unix) => {},
process::ExitStatus(0xC0000028) if cfg!(windows) => {},
_ => fail!("invalid termination (was not signalled): {:?}", status)
}
}