mirror of
https://github.com/RGBCube/uutils-coreutils
synced 2025-07-28 03:27:44 +00:00
uniq: Flush BufWriter
, make error context GNU-like
This commit is contained in:
parent
181844eafa
commit
a9cd3f132e
2 changed files with 13 additions and 1 deletions
|
@ -110,6 +110,7 @@ impl Uniq {
|
||||||
{
|
{
|
||||||
write_line_terminator!(writer, line_terminator)?;
|
write_line_terminator!(writer, line_terminator)?;
|
||||||
}
|
}
|
||||||
|
writer.flush().map_err_context(|| "write error".into())?;
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -226,7 +227,7 @@ impl Uniq {
|
||||||
} else {
|
} else {
|
||||||
writer.write_all(line)
|
writer.write_all(line)
|
||||||
}
|
}
|
||||||
.map_err_context(|| "Failed to write line".to_string())?;
|
.map_err_context(|| "write error".to_string())?;
|
||||||
|
|
||||||
write_line_terminator!(writer, line_terminator)
|
write_line_terminator!(writer, line_terminator)
|
||||||
}
|
}
|
||||||
|
|
|
@ -1181,3 +1181,14 @@ fn test_stdin_w1_multibyte() {
|
||||||
.succeeds()
|
.succeeds()
|
||||||
.stdout_is("à\ná\n");
|
.stdout_is("à\ná\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[cfg(target_os = "linux")]
|
||||||
|
#[test]
|
||||||
|
fn test_failed_write_is_reported() {
|
||||||
|
new_ucmd!()
|
||||||
|
.pipe_in("hello")
|
||||||
|
.args(&["-z"])
|
||||||
|
.set_stdout(std::fs::File::create("/dev/full").unwrap())
|
||||||
|
.fails()
|
||||||
|
.stderr_is("uniq: write error: No space left on device\n");
|
||||||
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue