1
Fork 0
mirror of https://github.com/RGBCube/uutils-coreutils synced 2026-01-19 03:31:06 +00:00
Commit graph

14745 commits

Author SHA1 Message Date
Nicolas Boichat
bd68eb8beb uucore: format: num_parser: Parse exponent part of floating point numbers
Parse numbers like 123.15e15 and 0xfp-2, and add some tests
for that.

`parse` is becoming more and more of a monster: we should consider
splitting it into multiple parts.

Fixes #7474.
2025-03-31 10:04:08 +02:00
Nicolas Boichat
55773e9d35 uucore: format: num_parser: Fix large hexadecimal float parsing
Large numbers can overflow u64 when doing 16u64.pow(scale):
do the operation on BigInt/BigDecimal instead.

Also, add a test. Wolfram Alpha can help confirm the decimal number
is correct (16-16**-21).
2025-03-31 10:04:08 +02:00
Nicolas Boichat
b5a658528b uucore: format: Use ExtendedBigDecimal in argument code
Provides arbitrary precision for float parsing in printf.

Also add a printf test for that.
2025-03-31 10:04:08 +02:00
Nicolas Boichat
71a285468b uucore: format: num_parser: Add parser for ExtendedBigDecimal
Very simple as the f64 parser actually uses that as intermediary
value.

Add a few tests too.
2025-03-31 10:04:08 +02:00
Nicolas Boichat
d7502e4b2e uucore: format: num_parser: Disallow binary number parsing for floats
Fixes #7487.

Also, add more tests for leading zeros not getting parsed as octal
when dealing with floats.
2025-03-31 10:04:08 +02:00
Nicolas Boichat
97e333c6d9 uucore: format: num_parser: allow leading + sign when parsing
Leading plus signs are allowed for all formats.

Add tests (including some tests for negative i64 values, and mixed
case special values that springed to mind).

Fixes #7473.
2025-03-31 10:04:08 +02:00
Nicolas Boichat
40a7c65980 uucore: format: num_parser: Turn parser into a trait
We call the function extended_parse, so that we do not clash
with other parsing functions in other traits.

- Also implement parser for ExtendedBigDecimal (straightforward).
- Base doesn't need to be public anymore.
- Rename the error to ExtendedParserError.
2025-03-31 10:04:08 +02:00
Nicolas Boichat
8bbec16115 uucore: format: num_parser: Fold special value parsing in main parsing function 2025-03-31 10:04:08 +02:00
Nicolas Boichat
20add88afc uucore: format: num_parser: Use ExtendedBigDecimal for internal representation
ExtendedBigDecimal already provides everything we need, use that
instead of a custom representation.
2025-03-31 10:04:08 +02:00
Daniel Hofstetter
07cce029cb
Merge pull request #7621 from uutils/renovate/blake3-1.x-lockfile
chore(deps): update rust crate blake3 to v1.8.0
2025-03-31 08:46:31 +02:00
renovate[bot]
b89be8c9a7
chore(deps): update rust crate blake3 to v1.8.0 2025-03-31 05:52:26 +00:00
Solomon Victorino
e20500d1e5 numfmt: move to thiserror 2025-03-30 21:15:21 +02:00
Solomon Victorino
4f1d33fec3 dd: move to thiserror 2025-03-30 21:15:21 +02:00
Solomon Victorino
047d9a930b wc/BufReadDecoderError: move to thiserror 2025-03-30 21:15:21 +02:00
Solomon Victorino
9099f342e0 unexpand: move to thiserror 2025-03-30 21:15:21 +02:00
Solomon Victorino
899c118f3f tac: move to thiserror 2025-03-30 21:15:21 +02:00
Solomon Victorino
9db51ec828 split: move to thiserror 2025-03-30 21:15:21 +02:00
Solomon Victorino
4aba193c9c expand: move to thiserror 2025-03-30 21:15:21 +02:00
Solomon Victorino
4cb23dd840 ptx: move to thiserror 2025-03-30 21:15:21 +02:00
ValentinBoudevin
aea23408fd
env: Move to "thiserror" + added errors test case (#7584)
Solved Issue #7535 : Removed parse_errors to follow other commands standard with thiserror
2025-03-30 11:21:57 +02:00
Sylvestre Ledru
903fa6ae88
Merge pull request #7514 from drinkcat/format-bigdecimal-tests
uucore: format: num_format: add `fmt` function tests, and workaround 0e10 printing.
2025-03-29 15:43:14 +01:00
Daniel Hofstetter
ba76b2b791
Merge pull request #7607 from sylvestre/uutest-doc
uutests: add a doc
2025-03-29 13:31:13 +01:00
Sylvestre Ledru
8be432e6ef uutests: fix the doc 2025-03-29 09:28:54 +01:00
Sylvestre Ledru
f5241e9d7a
Merge pull request #7605 from karlmcdowall/sum_error_handling
sum: Rework some error handling
2025-03-29 09:16:47 +01:00
Sylvestre Ledru
bb8c043a76 uutests: add a doc 2025-03-29 09:05:50 +01:00
Daniel Hofstetter
6cbb532a70
Merge pull request #7604 from sylvestre/gh
github/action: on fork, run the CI for all the branches (currently: only main)
2025-03-29 08:32:13 +01:00
Karl McDowall
912dc47bef sum: Rework some error handling
Update sum to properly propagate errors from file-reads,
including implementing a retry on ErrorKind::Interrupted.
Also switch to using writeln! rather than println! to prevent
crashes if stdout is directed to /dev/full
2025-03-28 19:22:31 -06:00
Dorian Péron
61b7f4b54b
Merge pull request #7598 from sylvestre/uutests2
Move our tests infra into a dedicated crate
2025-03-28 22:32:49 +01:00
Sylvestre Ledru
a0179ea239 uutests: adjust the tests to use them 2025-03-28 21:40:31 +01:00
Sylvestre Ledru
ccfcda531e uutests: improve the docs 2025-03-28 21:40:31 +01:00
Sylvestre Ledru
50fe623447 Create the uutest crate + adjust the code
+ move some of the tests into the program test
2025-03-28 21:40:31 +01:00
Daniel Hofstetter
99af1b84de
Merge pull request #7602 from uutils/renovate/reactivecircus-android-emulator-runner-2.x
chore(deps): update reactivecircus/android-emulator-runner action to v2.34.0
2025-03-28 17:12:41 +01:00
Sylvestre Ledru
b530fdcc88 github/action: on fork, run the CI for all the branches (currently: only main) 2025-03-28 17:06:20 +01:00
renovate[bot]
c05bc168e1
chore(deps): update reactivecircus/android-emulator-runner action to v2.34.0 2025-03-28 15:15:19 +00:00
Daniel Hofstetter
e4c4200358
Merge pull request #7599 from uutils/renovate/os_display-0.x-lockfile
fix(deps): update rust crate os_display to v0.1.4
2025-03-28 14:10:04 +01:00
renovate[bot]
b5ba4a61e3
fix(deps): update rust crate os_display to v0.1.4 2025-03-28 12:32:58 +00:00
cerdelen
8c8beb96e4
echo: fixed double hyphen as argument (#7581)
* Fixes #7558 Added check to only insert addition double hyphen if at start of arguments to correctly prepend addition hyphens for clap as well as additional test case

* additional comment

* fixes issue where flags precedes "--" as arguments
2025-03-28 13:31:48 +01:00
Sylvestre Ledru
1c75854d2f
Merge pull request #7576 from drinkcat/ci-macos
Test workspace CI on macos
2025-03-28 11:54:58 +01:00
Daniel Hofstetter
246da0d0d9
Merge pull request #7587 from drinkcat/stat-debug
stat: Print what kind of "weird" mode it is, if it's "weird"
2025-03-28 11:03:33 +01:00
Nicolas Boichat
4cecad3e35 uucore: format: num_format: add fmt function tests
All the other tests directly called format_float_* functions,
bypassing the additional logic in `fmt` (negative numbers, padding,
etc.).

This also tests the `parse` function in `mod.rs`, which calls back
into `try_from_spec` here. This also makes it easier to test a lot
of different format combinations without having to do end-to-end
tests in `test_printf.rs`.

Also add broken tests for the issues in #7509 and #7510.
2025-03-27 14:41:26 +01:00
Nicolas Boichat
afbab45350 uucore: format: Workaround BigDecimal printing bug with 0
This is a bigdecimal issue, see
https://github.com/akubera/bigdecimal-rs/issues/144 .

Also add a few tests, including a disabled one (our workaround
is _before_ the call to format_float_decimal).
2025-03-27 14:41:26 +01:00
Daniel Hofstetter
bf337a29af
Merge pull request #7592 from uutils/renovate/mozilla-actions-sccache-action-0.x
chore(deps): update mozilla-actions/sccache-action action to v0.0.9
2025-03-27 14:30:09 +01:00
renovate[bot]
47e7062ada
chore(deps): update mozilla-actions/sccache-action action to v0.0.9 2025-03-27 12:48:09 +00:00
Nicolas Boichat
78a006e1a1 ci: Enable workspace tests on MacOS 2025-03-27 10:29:46 +01:00
Nicolas Boichat
59396e32bc chcon/runcon: Only build on Linux
chcon/runcon rely on the selinux crate, that is empty on
non-Linux platforms.

This doesn't matter for normal builds that use the default features
for the platform (explicitly trying to build them will fail though).

This is a problem when using `cargo test --workspace` though,
as that tries to build all packages, including uu_chcon/uu_runcon.

Just prevent compilation of these source files when target_os != linux.
2025-03-27 10:29:46 +01:00
Nicolas Boichat
2555fd4039 Cargo.toml: We moved to edition 2024, drop = from fts-sys 2025-03-27 10:29:46 +01:00
Daniel Hofstetter
35a923b076
Merge pull request #7588 from uutils/renovate/clap-4.x-lockfile
chore(deps): update rust crate clap to v4.5.34
2025-03-27 07:09:20 +01:00
renovate[bot]
73a4d0d54e
chore(deps): update rust crate clap to v4.5.34 2025-03-27 02:29:50 +00:00
Nicolas Boichat
3d0c59ae97 stat: Print what kind of "weird" mode it is, if it's "weird"
Maybe useful to (partially) understand what is going on in #7583.
2025-03-26 20:20:50 +01:00
Sylvestre Ledru
f03cbf2cbb
Merge pull request #7582 from drinkcat/cspell-all
ci: Enable cspell on test on dotfiles too
2025-03-26 17:26:46 +01:00