Skip to content

Commit 792fdd1

Browse files
committed
test: test posix_spawn()
1 parent ac9fe9e commit 792fdd1

File tree

1 file changed

+19
-1
lines changed

1 file changed

+19
-1
lines changed

test/test_spawn.rs

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
use super::FORK_MTX;
2+
use nix::errno::Errno;
23
use nix::spawn::{self, PosixSpawnAttr, PosixSpawnFileActions};
34
use nix::sys::signal;
45
use nix::sys::wait::{waitpid, WaitPidFlag, WaitStatus};
@@ -96,7 +97,9 @@ fn spawn_cmd_does_not_exist() {
9697
let attr = PosixSpawnAttr::init().unwrap();
9798

9899
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);
100103
}
101104

102105
#[test]
@@ -162,3 +165,18 @@ fn spawnp_sleep() {
162165
}
163166
};
164167
}
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

Comments
 (0)