1
Fork 0
mirror of https://github.com/RGBCube/uutils-coreutils synced 2025-07-28 03:27:44 +00:00
Commit graph

3511 commits

Author SHA1 Message Date
Daniel Hofstetter
a8a43f73b0 clippy: fix errors from unnecessary_semicolon lint 2025-04-03 14:24:16 +02:00
Karl McDowall
a4b621ad8a cat: bugfix when running with -T option
Fixes an crash seen when running with -T option if no newline
is found in a buffer.
Added unit test to validate.
2025-04-02 18:59:27 -06:00
Nicolas Boichat
8cf4da0b19 uucore: format: Fix hexadecimal default format print
The default hex format, on x86(-64) prints 15 digits after the
decimal point, _but_ also trims trailing zeros, so it's not just
a simple default precision and a little bit of extra handling is
required.

Also add a bunch of tests.

Fixes #7364.
2025-04-01 15:04:47 +02:00
Dorian Péron
17d81bb9a1
Merge pull request #7623 from drinkcat/parse-bigdecimal-smallfixes
uucore: format: Collection of small parser fixes
2025-04-01 12:36:28 +02:00
Dorian Péron
e4fa68c57d
Merge pull request #7629 from cakebaker/uptime_fix_unused_import_warning
uptime: fix "unused import" warning in test
2025-04-01 12:09:39 +02:00
Nicolas Boichat
1e104b7ef9 uucore: format: num_parser: Add value to Overflow error
When parsing integers, we should still return the min/max value
of the type (depending on the type), and wrap that in the error.

We need to refactor the map function to handle this case better,
and add an extract function to get the value out of an error
(if any).

This fixes the integer part of #7508.
2025-04-01 11:20:17 +02:00
Dorian Péron
ace92dcca1
Merge pull request #7556 from drinkcat/parse-bigdecimal
uucore: format: num_parser: Use ExtendedBigDecimal
2025-04-01 10:52:50 +02:00
Daniel Hofstetter
1fe764230f
Merge pull request #7611 from drinkcat/stat-disable-macosx
test_stat: Disable test_stdin_pipe_fifo1/2 on Mac OS X
2025-04-01 09:42:01 +02:00
Daniel Hofstetter
7b6d05f81d uptime: fix "unused import" warning in test 2025-04-01 09:21:38 +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
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
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
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
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
d33d731804
Merge pull request #7548 from lewisboon/bugfix/date-negative-offset
date: allow negative date offsets
2025-03-26 08:49:46 +01:00
Karl McDowall
9957d0a64e head: fix bug with non-terminated files.
Fixes issue #7472.
Update to head app when printing all-but-last-n-lines of a file.
Code now checks if the last line of the input file is missing a terminating
newline character, and if so prints an extra line.
This aligns with GNU-head behavior.
Also improved performance of this usecase by using an optimized iterator
(memchr-iter) for searching through the input file.
2025-03-25 14:20:08 -06:00
Nicolas Boichat
6b8135119c test_test: Simplify test_file_N
I found the logic a little difficult to understand, and the
comment probably doesn't match what `-N` is supposed to do?

Intead, let's just manually set mtime and atime.

Hopefully this helps clear up Android flakiness in #7570. Or at
least understand better what is going on.
2025-03-25 15:01:23 +01:00
Lewis Boon
b02e3d587d date: allow negative date offsets
Issue #7515
Clap needs to be specifically configured to allow values
with a leading hyphen.
2025-03-24 22:03:38 +00:00
Sylvestre Ledru
22fc5cf16b dd tests: fix 'temporary value dropped while borrowed' 2025-03-24 21:33:16 +01:00
Sylvestre Ledru
85c5d39fd7 add setpriority to the spell ignore 2025-03-24 21:33:16 +01:00
Sylvestre Ledru
a85539f530 Run cargo fmt on the tree 2025-03-24 21:33:12 +01:00
Sylvestre Ledru
2739c19330 Fix unsafe attribute used without unsafe 2025-03-24 21:00:53 +01:00
Dan Robertson
1a0bc30f17 printf: trim leading whitespace when parsing numeric values
Trim leading whitespace from numeric input to printf.
2025-03-24 16:27:58 +00:00
Nicolas Boichat
b142b9e748 test_*: Disable tests that require setting rlimit on Android
See #7542, it's not totally clear where the problem comes from,
but blanking LD_PRELOAD set by termux seems to fix the problem
(but introduces other issues.

Let's just disable these tests for now.
2025-03-23 20:24:17 +01:00
Nicolas Boichat
7eb873c326 test_env: Try to execute an empty file instead of .
For some unclear reason, Android _now_ sometimes returns an
IsADirectory error, instead of PermissionDenied, when trying
to execute `.`.

Since this test really wants to test PermissionDenied, we try
to execute a file in the fixture instead, that doesn't have
exec permission.

Also, limit this test to Unix.

Fixes part of #7542.
2025-03-23 19:37:59 +01:00
Sylvestre Ledru
8931d2c26e
Merge pull request #7521 from usamoi/ptx
ptx: fixes
2025-03-23 09:28:20 +01:00
Sylvestre Ledru
53d277233d
Merge pull request #7527 from drinkcat/seq-tests
test_seq: Add a few more tests for corner cases
2025-03-23 09:26:20 +01:00
Sylvestre Ledru
eed5c81060
Merge pull request #7463 from blyxxyz/clean-shuf
Make `shuf` OsStr-compliant and bring newline handling in line with GNU
2025-03-22 22:29:49 +01:00
Nicolas Boichat
596ea0a694 test_seq: Add a few more tests for corner cases
Some of these tests are not completely defined behavior, but
in many cases they make sense (or at least one can find some
consistent logic to it).

However, there are 2 edge cases that are more dubious IMHO.
One of them has been reported on list a while back, and I
just reported another.
2025-03-22 22:02:11 +01:00
Nicolas Boichat
59cd6e5e41 tests: Move seq/yes run function to Ucommand::run_stdout_starts_with
Tests for both `seq` and `yes` run a command that never terminates,
and check the beggining of their output in stdout, move the copied
parts of the wrapper function to common/util.

We still need to use slightly different logic to parse exit value
as `seq` returns success if stdout gets closed, while `yes` fails.
2025-03-22 22:02:11 +01:00
Nicolas Boichat
25c492ee19 uucore: format: Pad non-finite numbers with spaces, not zeros
`printf "%05.2f" inf` should print `  inf`, not `00inf`.

Add a test to cover that case, too.
2025-03-22 21:13:18 +01:00
Valerio
6658a0e610
Add test to ensure arch output is not empty (#7523)
* Add test to ensure arch output is not empty

This test ensures that the output of the arch command is non-empty, which is a minimal expectation across all supported architectures.

This helps avoid regressions or edge cases where the command might unexpectedly return an empty string on unsupported or misconfigured platforms.

* Update tests/by-util/test_arch.rs

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

* Apply cargo fmt formatting

---------

Co-authored-by: Daniel Hofstetter <daniel.hofstetter@42dh.com>
2025-03-22 15:15:28 +01:00
usamoi
412d2b3b1f ptx: fixes 2025-03-22 19:25:19 +08:00
Terakomari
ae6d4dec28
base32/base64/basenc: add -D flag (#7479)
* base32/base64/basenc: add -D flag

* base32/base64/basenc: add test for -D flag

* update extensions.md

* remove redundant parameters

* merge  into a single category

* Update docs/src/extensions.md

Co-authored-by: Sylvestre Ledru <sylvestre@debian.org>

---------

Co-authored-by: Sylvestre Ledru <sylvestre@debian.org>
2025-03-18 14:39:53 +01:00
M Bussonnier
5532891f20
cp: create failing test for #7455 (#7457)
* Create failing test for #7455

Also update existing test to ensure output is empty.

* add ignore until relevant issue is fixed

---------

Co-authored-by: M Bussonnier <mbussonnier@gmail.com>
2025-03-16 15:31:06 +01:00
Jan Verbeek
f562543b6c shuf: Use OS strings, don't split individual arguments, cleanup
- shuf now uses OS strings, so it can read from filenames that are
  invalid Unicode and it can shuffle arguments that are invalid
  Unicode. `uucore` now has an `OsWrite` trait to support this without
  platform-specific boilerplate.

- shuf no longer tries to split individual command line arguments,
  only bulk input from a file/stdin. (This matches GNU and busybox.)

- More values are parsed inside clap instead of manually, leading to
  better error messages and less code.

- Some code has been simplified or made more idiomatic.
2025-03-16 14:10:31 +01:00
Daniel Hofstetter
75260a5889 test: adapt test to new version string 2025-03-15 16:03:17 +01:00
Dorian Péron
e147063e26
Merge pull request #7413 from drinkcat/printf-nan
Fix `nan` print, simplify negative number printing.
2025-03-14 14:23:31 +01:00
Daniel Hofstetter
5f6a7d0ffa
Merge pull request #7440 from sylvestre/selinux
CI: add a new job to test with Selinux
2025-03-14 13:40:01 +01:00
Nicolas Boichat
0c0d119413 test: printf: Add a test for scientific printing of negative number
This was broken before the last few commits.
2025-03-14 12:42:00 +01:00
Nicolas Boichat
92a291b71d test: printf: Add nan, inf, negative zero
Add a few end-to-end tests for printf of unusual floats (nan,
infinity, negative zero).
2025-03-14 12:42:00 +01:00
Nicolas Boichat
c0a1179e7c seq: Enable test_auto_precision and test_undefined
Those tests appear to have been fixed, enable them.
2025-03-14 12:05:16 +01:00