1
Fork 0
mirror of https://github.com/RGBCube/uutils-coreutils synced 2025-09-15 03:26:18 +00:00
Commit graph

15910 commits

Author SHA1 Message Date
GTimothy
09a9dc72b9 checksum/cksum: fix: filename that include separator should parse + add tests
fixes this non-regex implementation's flaw with file_names containing
the separator's pattern:
 - replaces left-to-right greedy separator match with right-to-left one.
 - added bugfix tests
fixes secondary bug: positive match on hybrid posix-openssl format
adds secondary bugfix tests

Co-authored-by: Dorian Péron
<72708393+RenjiSann@users.noreply.github.com>
2025-03-31 17:18:18 +02:00
GTimothy
04ad55510b checksum/cksum: update tests to test new parsers not regex 2025-03-31 17:18:18 +02:00
GTimothy
621f2b5c7a checksum/cksum: rewrite lineformat parsing without regex
removes dependency on the regex crate for LineFormat detection and
parsing, resulting in a faster and lighter cksum binary.
2025-03-31 17:18:18 +02:00
Jan Verbeek
a9cd3f132e uniq: Flush BufWriter, make error context GNU-like 2025-03-31 13:46:33 +02:00
Jan Verbeek
181844eafa tr: Flush BufWriter, fix double error context
Write errors led with `tr: tr: write error:`.
2025-03-31 13:46:33 +02:00
Jan Verbeek
cf50952325 tail: Flush BufWriter 2025-03-31 13:46:33 +02:00
Jan Verbeek
11ef1522ca tac: Flush BufWriter 2025-03-31 13:46:24 +02:00
Jan Verbeek
d456e90596 sort: Flush BufWriter, don't panic on write errors 2025-03-31 13:46:15 +02:00
Jan Verbeek
bfdde70309 ptx: Flush BufWriter, add context to errors 2025-03-31 13:46:05 +02:00
Jan Verbeek
cba48c0284 cut: Flush BufWriter, centralize output file logic 2025-03-31 13:45:10 +02:00
Nicolas Boichat
30c89af9ac uucore: format: num_parser: Make it clear that scale can only be positive
After scratching my head a bit about why the hexadecimal code works,
seems better to do make scale an u64 to clarify.

Note that this may u64 may exceed i64 capacity, but that can only
happen if the number of digits provided > 2**63 (impossible).
2025-03-31 10:04:08 +02:00
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
Nicolas Boichat
ae743a976d test_stat: Disable test_stdin_pipe_fifo1/2 on Mac OS X
It's not totally clear why they sometimes work, sometimes fail,
but it does appear that running `stat` on `/dev/stdin` is perhaps
not the most reliable approach.

A likely more solid approach is described in #7583.
2025-03-29 17:11:41 +01: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