coreutils/tests
mattsu 43dd238fea
od: make GNU test od.pl pass (#9334)
* feat: Add support for long double floating-point numbers and refine general float formatting.

* feat: Enhance `od` error reporting for file I/O, width, and offset parsing, including overflow detection and input validation.

* feat: Improve long double parsing by converting f128 to f64, enhance overflow error reporting with `libc::ERANGE`, and prevent final offset printing on input errors.

* style: Apply minor formatting adjustments across the `od` module.

* refactor: simplify float formatting logic and update string handling syntax

* fix: Correct float formatting logic to use decimal for numbers within range and exponential otherwise.

* refactor(test): use helper function in test_calculate_alignment

Replace repetitive assert_eq! calls with a new assert_alignment helper
to improve test readability and reduce code duplication. The helper
encapsulates alignment checks for OutputInfo::calculate_alignment,
making tests clearer and easier to maintain.

* feat(cspell): add ERANGE to jargon wordlist

Added "ERANGE" to the dictionary to prevent spell checker flagging it as a misspelling, as it's a valid errno constant from C libraries.

* feat(od): improve width error handling and subnormal float output

Refactor width option parsing in OdOptions to use i18n-compatible error messages via translate! macro, consolidating redundant error branches for better maintainability. Enhance float formatting for f16 and bf16 by introducing format_binary16_like helper to properly display subnormal values with exponential notation, removing the obsolete format_float_simple function and adding subnormal detection functions for accurate representation in od's output.

* refactor(od): simplify format_item_bf16 by removing redundant variable

Remove unnecessary `value` variable in `format_item_bf16` function, eliminating
a redundant cast and inline `f` directly for clarity and minor efficiency gain.

* fix(od): standardize option names in error messages

Remove hardcoded "--" prefixes from localization strings in en-US.ftl and fr-FR.ftl, replacing with a computed display name that includes "--" and optionally the short form (e.g., "--option" or "--option, -s"). Update parse_bytes_option and read_bytes functions to pass an option_display_name, enabling consistent error message formatting across localizations. Add validation to reject zero width values as invalid arguments. Improves user experience by providing clearer, more consistent option references in error outputs.

* refactor: condense format! macro in format_item_bf16 for readability

Removed unnecessary line breaks in the format! expression, keeping the code more concise while maintaining functionality. This improves code style in the float printing module.

* fix(od): add external quoting for filenames in error messages

The MultifileReader now uses `fname.maybe_quote().external(true)` when displaying permission and I/O errors, ensuring filenames are properly quoted for user-facing output (e.g., handling special characters that might confuse shells). This prevents potential issues with filename display in error logs.

* refactor(od): Rename f128_to_f64 to u128_to_f64 for clarity

Renamed the function in input_decoder.rs from f128_to_f64 to u128_to_f64
to accurately reflect its purpose of converting u128 integer bits to f64,
improving code readability and reducing potential confusion over float types.

* refactor(od): simplify error handling in OdOptions using combinators

Use map_err and the try operator to replace a verbose match statement,
making the code more concise and idiomatic Rust. This improves readability
without altering functionality.

* Update src/uu/od/src/od.rs

Co-authored-by: Daniel Hofstetter <daniel.hofstetter@42dh.com>

* Update src/uu/od/src/od.rs

Co-authored-by: Daniel Hofstetter <daniel.hofstetter@42dh.com>

* Update src/uu/od/src/parse_inputs.rs

Co-authored-by: Daniel Hofstetter <daniel.hofstetter@42dh.com>

* Update src/uu/od/src/od.rs

Co-authored-by: Daniel Hofstetter <daniel.hofstetter@42dh.com>

* Update src/uu/od/src/parse_inputs.rs

Co-authored-by: Daniel Hofstetter <daniel.hofstetter@42dh.com>

* Update src/uu/od/src/parse_inputs.rs

Co-authored-by: Daniel Hofstetter <daniel.hofstetter@42dh.com>

* refactor(od): remove leaking from translated error messages in parse_offset_operand

Eliminated use of `.leak()` and unnecessary `.to_string()` calls on translated error strings in the `parse_offset_operand` function. This simplifies error handling, improves memory safety by avoiding intentional leaks, and makes the code cleaner without functional changes.

---------

Co-authored-by: Daniel Hofstetter <daniel.hofstetter@42dh.com>
2025-11-28 08:23:55 +01:00
..
by-util od: make GNU test od.pl pass (#9334) 2025-11-28 08:23:55 +01:00
fixtures test(cksum): Add tests for BLAKE2b --length sanitization 2025-11-18 11:30:14 +01:00
uudoc Add example to manpage (#7841) 2025-11-07 23:47:32 +01:00
uutests Adding TTY helper for unix to be able to create tests for stty and more (#9348) 2025-11-21 23:40:00 +01:00
test_localization_and_colors.rs clap/locale: fix the colors for all programs (Closes: #8501) 2025-09-05 08:25:59 +02:00
test_util_name.rs uudoc: move manpage generation away from the binary 2025-10-22 01:17:08 -07:00
tests.rs uudoc: move manpage generation away from the binary 2025-10-22 01:17:08 -07:00