Yury Zhytkou
eb00c195c6
split: pass GNU tests/b-chunk.sh ( #5475 )
...
---------
Co-authored-by: Terts Diepraam <terts.diepraam@gmail.com>
Co-authored-by: Daniel Hofstetter <daniel.hofstetter@42dh.com>
Co-authored-by: Brandon Elam Barker <brandon.barker@gmail.com>
Co-authored-by: Kostiantyn Hryshchuk <statheres@gmail.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-17 17:19:10 +01:00
zhitkoff
62887c7a58
split: directory separator in additional suffix
2023-11-02 17:17:38 +01:00
zhitkoff
f05474a33a
split: slash separator
2023-11-02 17:17:38 +01:00
zhitkoff
fbb454a080
split: suffix auto-widening and auto-width tests
2023-11-02 17:17:38 +01:00
Yury Zhytkou
eede467e21
split
: --filter
and stdin updates (#5418 )
2023-10-20 08:47:32 +02:00
zhitkoff
cb7479e823
uucore: implement SI suffixes R and Q
2023-10-17 10:50:50 -04:00
zhitkoff
a920464952
split: undocumented options aliases + help fix
2023-10-11 12:13:22 -04:00
Daniel Hofstetter
6dd53c7a71
clippy: fix warnings in tests
2023-10-06 10:11:26 +02:00
Yury Zhytkou
c5a0aa92f8
split: implementing separator option ( #5331 )
...
* split: implementing separator option
* split: separator option - handle multiple update
* split: style
* split: separator tests
* split: separator tests - stdin in ci/cd
* split: tests - ci/cd stdin errors
* split: refactor based on feedback
* split: improve test coverage
* split: fix broken pipe error in tests with stdin
* split: fix for handle_multiple_separator_options
* split: comments
* split: refactor separator code
* split: changes based on feedback
* split: changes based on feedback
2023-10-03 00:42:46 +02:00
Daniel Hofstetter
39a0e92a91
Merge pull request #5255 from granquet/split_filter_broken_pipe
...
split: catch broken pipe error for round robin strategy
2023-09-13 14:08:45 +02:00
Daniel Hofstetter
aa7b39ae49
split: fix formatting
2023-09-13 10:45:38 +02:00
Guillaume Ranquet
d4217c5a12
split: catch broken pipe error for round robin strategy
...
The broken pipe error is not handled in the case of the round robin
strategy (typically used with --filter).
Align to the other strategies to silence that error in that use case
too.
fixes #5191
Signed-off-by: Guillaume Ranquet <granquet@baylibre.com>
2023-09-12 17:43:31 +02:00
zhitkoff
3f065eed8a
split: fixing test for 32bit
2023-09-06 21:04:01 -04:00
zhitkoff
8883f016d4
split: fix windows tests
2023-09-06 20:09:26 -04:00
zhitkoff
3be284e0d9
split: more test coverage
2023-09-06 19:49:26 -04:00
zhitkoff
fbf5ac4329
split: tests 32bit
2023-09-06 14:16:21 -04:00
zhitkoff
1669a92694
split: tests overflow
2023-09-06 14:02:08 -04:00
zhitkoff
4fd598e4d5
split: tests
2023-09-06 13:20:58 -04:00
zhitkoff
e378454a26
split: formatting
2023-09-06 13:15:35 -04:00
zhitkoff
d8a16a2351
split: tests
2023-09-06 12:42:49 -04:00
zhitkoff
a0a9ee6491
split: fixing tests for parse_size_max()
2023-09-05 18:42:16 -04:00
Yury Zhytkou
e0b000a3bc
Merge branch 'main' into split-gnu-test-fail.sh
2023-09-05 17:22:31 -04:00
Daniel Hofstetter
8920ac0123
split: fix clippy warning in test
2023-09-04 07:26:23 +02:00
zhitkoff
e597189be7
split: fixed windows test for invalid unicode args
2023-08-31 20:48:44 -04:00
zhitkoff
d2812cbbc3
split: disable windows test for invalid UTF8
2023-08-31 16:04:44 -04:00
zhitkoff
5bfe9b19ef
split: avoid using collect_lossy
+ test for invalid UTF8 arguments
2023-08-31 14:46:56 -04:00
zhitkoff
6f37b4b4cf
split: hyphenated values + tests
2023-08-30 19:29:57 -04:00
zhitkoff
7f905a3b8d
split: edge case for obs lines within combined shorts + test
2023-08-29 16:35:00 -04:00
zhitkoff
15c7170d20
split: fix for GNU Tests regression + tests
2023-08-29 15:49:47 -04:00
zhitkoff
fa8d18b826
split: refactor obsolete lines
2023-08-28 18:24:21 -04:00
Yury Zhytkou
1eae064e5c
split: better handle numeric and hex suffixes, short and long, with and without values ( #5198 )
...
* split: better handle numeric and hex suffixes, short and long, with and without values
Fixes #5171
* refactoring with overrides_with_all() in args definitions
* fixed comments
* updated help on suffixes to match GNU
* comments
* refactor to remove value_parser()
* split: refactor suffix processing + updated tests
* split: minor formatting
2023-08-28 10:09:52 +02:00
zhitkoff
84d96f9d02
split: refactor for more common use case
2023-08-26 11:11:46 -04:00
Terts Diepraam
c3f9e19a3b
all: normalize license notice in all *.rs files
2023-08-24 12:21:09 +02:00
John Shin
631b9892f6
split: loop over chars and remove char_from_digit function
2023-08-11 18:36:08 -07:00
Sylvestre Ledru
d033db3573
split: reject some invalid values
...
Matches what is done in tests/split/fail.sh
(still doesn't work)
2023-07-03 22:57:37 +02:00
Daniel Hofstetter
7a888da409
tests: remove all "extern crate" statements
2023-04-10 08:31:31 +02:00
Daniel Hofstetter
6988eb7ec6
tests: expand wildcard imports
2023-03-20 15:32:35 +01:00
Daniel Hofstetter
f6b646e4e5
clippy: fix warnings introduced with Rust 1.67.0
2023-01-27 17:37:56 +01:00
Joining7943
1fadeb43b2
tests/util: Do not trim stderr in CmdResult::stderr_is. Add method stderr_trimmed_is.
...
Fix tests assert whitespace instead of trimming it. Disable some tests in `test_tr` because `tr`
produces too many newlines.
2023-01-22 14:56:19 +01:00
Niyaz Nigmatullin
fdd6a05259
chore: run cargo +nightly clippy --fix
2022-11-16 11:09:44 +02:00
Jeffrey Finkelstein
7dc96697c9
split: implement round-robin arg to --number
...
Implement distributing lines of a file in a round-robin manner to a
specified number of chunks. For example,
$ (seq 1 10 | split -n r/3) && head -v xa[abc]
==> xaa <==
1
4
7
10
==> xab <==
2
5
8
==> xac <==
3
6
9
2022-10-22 23:15:55 -04:00
Sylvestre Ledru
969f821830
Merge pull request #4009 from andrewbaptist/fix_eof_linebytes
...
Match GNU semantics for missing EOF
2022-10-17 16:23:20 +02:00
Sylvestre Ledru
6e14dea73b
Fix some clippy warnings
...
Fixed with `cargo clippy --features unix --fix`
and manually
2022-10-13 09:07:22 +02:00
Andrew Baptist
4922d34177
Match GNU semantics for missing EOF
...
While the rust coreutils semantics were arguably more correct,
they were different than the gnu split semantics when handling a
file without a trailing EOF. This patch addresses that difference
and allows passing one more GNU test suite.
2022-10-07 17:50:26 -04:00
Andrew Baptist
49e1cc6c71
Add support for starting suffix numbers
...
This commit now allows split to pass split/numeric.sh
2022-10-05 09:52:20 -04:00
Terts Diepraam
9177cb7b24
all: add tests for usage error exit code
2022-09-10 20:59:42 +02:00
Jeffrey Finkelstein
8458bf1387
Clippy fixes in multiple crates
2022-08-23 18:30:43 -04:00
Owen Anderson
9fad6fde35
Fix a bug in split where chunking would be skipped when the chunk size ( #3800 )
...
* Fix a bug in split where chunking would be skipped when the chunk size
happened to be an exact divisor of the buffer size used to read the
input stream.
The issue here was that file was being split byte-wise in chunks of 1G.
The input stream was being read in chunks of 8KB, which evenly divides
the chunk size. Because the check to allocate the next output chunk was
done at the bottom of the loop previously, it would never occur because
the current input chunk was fully consumed at that point. By moving the
check to the top of the loop (but still late enough that we know we have
bytes to write) we resolve this issue.
This scenario is unfortunately hard to write a test for, since we don't
explicitly control the input chunk size.
Fixes https://github.com/uutils/coreutils/issues/3790
2022-08-16 11:02:52 +02:00
Andrew Baptist
f2cfc15a70
split: Don't overwrite files
...
Check that a file exists by calling create_new and changing the
interface of instantiate_current_writer to return a Result rather
than calling unwrap.
2022-07-21 12:06:13 -04:00
Jeffrey Finkelstein
b79ff6b4fd
split: avoid writing final empty chunk with -C
...
Fix a bug in which a final empty file was written when using `split
--line-bytes` mode.
2022-03-20 09:30:58 -04:00