|
1 | 1 | use super::FORK_MTX; |
| 2 | +use nix::errno::Errno; |
2 | 3 | use nix::spawn::{self, PosixSpawnAttr, PosixSpawnFileActions}; |
3 | 4 | use nix::sys::signal; |
4 | 5 | use nix::sys::wait::{waitpid, WaitPidFlag, WaitStatus}; |
@@ -96,7 +97,9 @@ fn spawn_cmd_does_not_exist() { |
96 | 97 | let attr = PosixSpawnAttr::init().unwrap(); |
97 | 98 |
|
98 | 99 | let bin = "2b7433c4-523b-470c-abb5-d7ee9fd295d5-fdasf"; |
99 | | - let _pid = spawn::posix_spawn(bin, &actions, &attr, args, envs).unwrap(); |
| 100 | + let errno = |
| 101 | + spawn::posix_spawn(bin, &actions, &attr, args, envs).unwrap_err(); |
| 102 | + assert_eq!(errno, Errno::ENOENT); |
100 | 103 | } |
101 | 104 |
|
102 | 105 | #[test] |
@@ -162,3 +165,18 @@ fn spawnp_sleep() { |
162 | 165 | } |
163 | 166 | }; |
164 | 167 | } |
| 168 | + |
| 169 | +#[test] |
| 170 | +fn spawnp_cmd_does_not_exist() { |
| 171 | + let _guard = FORK_MTX.lock(); |
| 172 | + |
| 173 | + let args = &[CString::new("buzz").unwrap()]; |
| 174 | + let envs: &[CString] = &[]; |
| 175 | + let actions = PosixSpawnFileActions::init().unwrap(); |
| 176 | + let attr = PosixSpawnAttr::init().unwrap(); |
| 177 | + |
| 178 | + let bin = c"2b7433c4-523b-470c-abb5-d7ee9fd295d5-fdasf"; |
| 179 | + let errno = |
| 180 | + spawn::posix_spawnp(bin, &actions, &attr, args, envs).unwrap_err(); |
| 181 | + assert_eq!(errno, Errno::ENOENT); |
| 182 | +} |
0 commit comments