From e3be131bccd1c0e3d0e13898cf28f3a41db06860 Mon Sep 17 00:00:00 2001 From: cerdelen <95369756+cerdelen@users.noreply.github.com> Date: Wed, 31 Dec 2025 20:01:12 +0100 Subject: [PATCH] tac: fix error message (#9942) * tac: fix error message * tac: Remove obsolete error messages from locales --- src/uu/tac/locales/en-US.ftl | 2 +- src/uu/tac/locales/fr-FR.ftl | 2 +- src/uu/tac/src/error.rs | 6 +++--- src/uu/tac/src/tac.rs | 3 ++- tests/by-util/test_tac.rs | 2 +- 5 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/uu/tac/locales/en-US.ftl b/src/uu/tac/locales/en-US.ftl index 3c849c4d7..2632aa3db 100644 --- a/src/uu/tac/locales/en-US.ftl +++ b/src/uu/tac/locales/en-US.ftl @@ -6,7 +6,7 @@ tac-help-separator = use STRING as the separator instead of newline # Error messages tac-error-invalid-regex = invalid regular expression: { $error } -tac-error-invalid-argument = { $argument }: read error: Invalid argument +tac-error-invalid-directory-argument = { $argument }: read error: Is a directory tac-error-file-not-found = failed to open { $filename } for reading: No such file or directory tac-error-read-error = failed to read from { $filename }: { $error } tac-error-write-error = failed to write to stdout: { $error } diff --git a/src/uu/tac/locales/fr-FR.ftl b/src/uu/tac/locales/fr-FR.ftl index f49a39e8d..6c56de628 100644 --- a/src/uu/tac/locales/fr-FR.ftl +++ b/src/uu/tac/locales/fr-FR.ftl @@ -6,7 +6,7 @@ tac-help-separator = utiliser CHAÎNE comme séparateur au lieu du saut de ligne # Messages d'erreur tac-error-invalid-regex = expression régulière invalide : { $error } -tac-error-invalid-argument = { $argument } : erreur de lecture : Argument invalide tac-error-file-not-found = échec de l'ouverture de { $filename } en lecture : Aucun fichier ou répertoire de ce type tac-error-read-error = échec de la lecture depuis { $filename } : { $error } tac-error-write-error = échec de l'écriture vers stdout : { $error } +tac-error-invalid-directory-argument = { $argument } : erreur de lecture : Est un répertoire diff --git a/src/uu/tac/src/error.rs b/src/uu/tac/src/error.rs index 133a46266..098e997d4 100644 --- a/src/uu/tac/src/error.rs +++ b/src/uu/tac/src/error.rs @@ -15,9 +15,9 @@ pub enum TacError { /// A regular expression given by the user is invalid. #[error("{}", translate!("tac-error-invalid-regex", "error" => .0))] InvalidRegex(regex::Error), - /// An argument to tac is invalid. - #[error("{}", translate!("tac-error-invalid-argument", "argument" => .0.maybe_quote()))] - InvalidArgument(OsString), + /// The argument to tac is a directory. + #[error("{}", translate!("tac-error-invalid-directory-argument", "argument" => .0.maybe_quote()))] + InvalidDirectoryArgument(OsString), /// The specified file is not found on the filesystem. #[error("{}", translate!("tac-error-file-not-found", "filename" => .0.quote()))] FileNotFound(OsString), diff --git a/src/uu/tac/src/tac.rs b/src/uu/tac/src/tac.rs index 507dd1531..f38661d03 100644 --- a/src/uu/tac/src/tac.rs +++ b/src/uu/tac/src/tac.rs @@ -253,7 +253,8 @@ fn tac(filenames: &[OsString], before: bool, regex: bool, separator: &str) -> UR } else { let path = Path::new(filename); if path.is_dir() { - let e: Box = TacError::InvalidArgument(filename.clone()).into(); + let e: Box = + TacError::InvalidDirectoryArgument(filename.clone()).into(); show!(e); continue; } diff --git a/tests/by-util/test_tac.rs b/tests/by-util/test_tac.rs index 0f5aad488..feb79f581 100644 --- a/tests/by-util/test_tac.rs +++ b/tests/by-util/test_tac.rs @@ -100,7 +100,7 @@ fn test_invalid_input() { .ucmd() .arg("a") .fails() - .stderr_contains("a: read error: Invalid argument"); + .stderr_contains("a: read error: Is a directory"); } #[test]