1
Fork 0
mirror of https://github.com/RGBCube/uutils-coreutils synced 2025-07-28 19:47:45 +00:00

fmt: generate an error if the input is a directory

tested by tests/misc/read-errors
This commit is contained in:
Sylvestre Ledru 2024-11-14 22:04:17 +01:00
parent 1d9e162637
commit ab77eaea45
2 changed files with 12 additions and 0 deletions

View file

@ -189,6 +189,13 @@ fn process_file(
_ => {
let f = File::open(file_name)
.map_err_context(|| format!("cannot open {} for reading", file_name.quote()))?;
if f.metadata()
.map_err_context(|| format!("cannot get metadata for {}", file_name.quote()))?
.is_dir()
{
return Err(USimpleError::new(1, "read error".to_string()));
}
Box::new(f) as Box<dyn Read + 'static>
}
});

View file

@ -9,6 +9,11 @@ fn test_invalid_arg() {
new_ucmd!().arg("--definitely-invalid").fails().code_is(1);
}
#[test]
fn test_invalid_input() {
new_ucmd!().arg(".").fails().code_is(1);
}
#[test]
fn test_fmt() {
new_ucmd!()