mirror of
https://github.com/RGBCube/uutils-coreutils
synced 2025-09-15 11:36:16 +00:00
sort: make merging stable
When merging files we need to prioritize files that occur earlier in the command line arguments with -m. This also makes the extsort merge step (and thus extsort itself) stable again.
This commit is contained in:
parent
2ff9cc6570
commit
e0ebf907a4
7 changed files with 48 additions and 1 deletions
|
@ -51,6 +51,18 @@ fn test_smaller_than_specified_segment() {
|
|||
.stdout_is_fixture("ext_sort.expected");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_ext_sort_stable() {
|
||||
new_ucmd!()
|
||||
.arg("-n")
|
||||
.arg("--stable")
|
||||
.arg("-S")
|
||||
.arg("0M")
|
||||
.arg("ext_stable.txt")
|
||||
.succeeds()
|
||||
.stdout_only_fixture("ext_stable.expected");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_extsort_zero_terminated() {
|
||||
new_ucmd!()
|
||||
|
@ -566,6 +578,18 @@ fn test_merge_unique() {
|
|||
.stdout_only_fixture("merge_ints_interleaved.expected");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_merge_stable() {
|
||||
new_ucmd!()
|
||||
.arg("-m")
|
||||
.arg("--stable")
|
||||
.arg("-n")
|
||||
.arg("merge_stable_1.txt")
|
||||
.arg("merge_stable_2.txt")
|
||||
.succeeds()
|
||||
.stdout_only_fixture("merge_stable.expected");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_merge_reversed() {
|
||||
new_ucmd!()
|
||||
|
|
4
tests/fixtures/sort/ext_stable.expected
vendored
Normal file
4
tests/fixtures/sort/ext_stable.expected
vendored
Normal file
|
@ -0,0 +1,4 @@
|
|||
0a
|
||||
0a
|
||||
0b
|
||||
0b
|
4
tests/fixtures/sort/ext_stable.txt
vendored
Normal file
4
tests/fixtures/sort/ext_stable.txt
vendored
Normal file
|
@ -0,0 +1,4 @@
|
|||
0a
|
||||
0a
|
||||
0b
|
||||
0b
|
3
tests/fixtures/sort/merge_stable.expected
vendored
Normal file
3
tests/fixtures/sort/merge_stable.expected
vendored
Normal file
|
@ -0,0 +1,3 @@
|
|||
0a
|
||||
0c
|
||||
0b
|
2
tests/fixtures/sort/merge_stable_1.txt
vendored
Normal file
2
tests/fixtures/sort/merge_stable_1.txt
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
0a
|
||||
0c
|
1
tests/fixtures/sort/merge_stable_2.txt
vendored
Normal file
1
tests/fixtures/sort/merge_stable_2.txt
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
0b
|
Loading…
Add table
Add a link
Reference in a new issue