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