From 996bc6b76a4830dfb0a1f28ee62f5d8b17febbac Mon Sep 17 00:00:00 2001 From: Robert O'Callahan Date: Mon, 21 Aug 2017 15:07:37 +1200 Subject: Expose `from_raw` on `WaitStatus` and make it return a `Result` --- test/sys/test_wait.rs | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'test/sys') diff --git a/test/sys/test_wait.rs b/test/sys/test_wait.rs index 44a111a3..02f32734 100644 --- a/test/sys/test_wait.rs +++ b/test/sys/test_wait.rs @@ -1,3 +1,4 @@ +use nix::Error; use nix::unistd::*; use nix::unistd::ForkResult::*; use nix::sys::signal::*; @@ -37,6 +38,14 @@ fn test_wait_exit() { } } +#[test] +fn test_waitstatus_from_raw() { + let pid = Pid::from_raw(1); + assert_eq!(WaitStatus::from_raw(pid, 0x0002), Ok(WaitStatus::Signaled(pid, Signal::SIGINT, false))); + assert_eq!(WaitStatus::from_raw(pid, 0x0200), Ok(WaitStatus::Exited(pid, 2))); + assert_eq!(WaitStatus::from_raw(pid, 0x7f7f), Err(Error::invalid_argument())); +} + #[test] fn test_waitstatus_pid() { let _m = ::FORK_MTX.lock().expect("Mutex got poisoned by another test"); -- cgit v1.2.3