Skip to content

Commit 345f2cc

Browse files
authored
tests/mkfifo: added a test to check mkfifo permission denied error for code coverage (#9586)
* tests/mkfifo: added a test to check mkfifo permission denied error for code coverage * fixed formatting
1 parent 7c62885 commit 345f2cc

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

tests/by-util/test_mkfifo.rs

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,32 @@ fn test_create_fifo_with_umask() {
126126
test_fifo_creation(0o777, "p---------"); // spell-checker:disable-line
127127
}
128128

129+
#[test]
130+
fn test_create_fifo_permission_denied() {
131+
let scene = TestScenario::new(util_name!());
132+
let at = &scene.fixtures;
133+
134+
let no_exec_dir = "owner_no_exec_dir";
135+
let named_pipe = "owner_no_exec_dir/mkfifo_err";
136+
137+
at.mkdir(no_exec_dir);
138+
at.set_mode(no_exec_dir, 0o644);
139+
140+
let err_msg = format!(
141+
"mkfifo: cannot create fifo '{named_pipe}': File exists
142+
mkfifo: cannot set permissions on '{named_pipe}': Permission denied (os error 13)
143+
"
144+
);
145+
146+
scene
147+
.ucmd()
148+
.arg(named_pipe)
149+
.arg("-m")
150+
.arg("666")
151+
.fails()
152+
.stderr_is(err_msg.as_str());
153+
}
154+
129155
#[test]
130156
#[cfg(feature = "feat_selinux")]
131157
fn test_mkfifo_selinux() {

0 commit comments

Comments
 (0)