1
Fork 0
mirror of https://github.com/RGBCube/uutils-coreutils synced 2025-07-28 11:37:44 +00:00

truncate: error when trying to truncate a fifo

Terminate the `truncate` program with an error message when trying to
truncate a named pipe (also known as a fifo).
This commit is contained in:
Jeffrey Finkelstein 2022-01-28 22:24:07 -05:00
parent 7b3cfcf708
commit fe5b537f56
2 changed files with 77 additions and 1 deletions

View file

@ -398,3 +398,38 @@ fn test_underflow_relative_size() {
assert!(at.file_exists(FILE1));
assert!(at.read_bytes(FILE1).is_empty());
}
#[cfg(not(windows))]
#[test]
fn test_fifo_error_size_only() {
let (at, mut ucmd) = at_and_ucmd!();
at.mkfifo("fifo");
ucmd.args(&["-s", "0", "fifo"])
.fails()
.no_stdout()
.stderr_contains("cannot open 'fifo' for writing: No such device or address");
}
#[cfg(not(windows))]
#[test]
fn test_fifo_error_reference_file_only() {
let (at, mut ucmd) = at_and_ucmd!();
at.mkfifo("fifo");
at.make_file("reference_file");
ucmd.args(&["-r", "reference_file", "fifo"])
.fails()
.no_stdout()
.stderr_contains("cannot open 'fifo' for writing: No such device or address");
}
#[cfg(not(windows))]
#[test]
fn test_fifo_error_reference_and_size() {
let (at, mut ucmd) = at_and_ucmd!();
at.mkfifo("fifo");
at.make_file("reference_file");
ucmd.args(&["-r", "reference_file", "-s", "+0", "fifo"])
.fails()
.no_stdout()
.stderr_contains("cannot open 'fifo' for writing: No such device or address");
}