mirror of
https://github.com/RGBCube/uutils-coreutils
synced 2025-07-30 12:37:49 +00:00
sort: improve tests
This commit is contained in:
parent
3d23ace9b8
commit
af47c66a00
2 changed files with 33 additions and 2 deletions
|
@ -42,7 +42,13 @@ pub fn check(path: &OsStr, settings: &GlobalSettings) -> i32 {
|
||||||
move || reader(file, recycled_receiver, loaded_sender, &settings)
|
move || reader(file, recycled_receiver, loaded_sender, &settings)
|
||||||
});
|
});
|
||||||
for _ in 0..2 {
|
for _ in 0..2 {
|
||||||
let _ = recycled_sender.send(RecycledChunk::new(100 * 1024));
|
let _ = recycled_sender.send(RecycledChunk::new(if settings.buffer_size < 100 * 1024 {
|
||||||
|
// when the buffer size is smaller than 100KiB we choose it instead of the default.
|
||||||
|
// this improves testability.
|
||||||
|
settings.buffer_size
|
||||||
|
} else {
|
||||||
|
100 * 1024
|
||||||
|
}));
|
||||||
}
|
}
|
||||||
|
|
||||||
let mut prev_chunk: Option<Chunk> = None;
|
let mut prev_chunk: Option<Chunk> = None;
|
||||||
|
|
|
@ -771,6 +771,7 @@ fn test_check() {
|
||||||
new_ucmd!()
|
new_ucmd!()
|
||||||
.arg(diagnose_arg)
|
.arg(diagnose_arg)
|
||||||
.arg("check_fail.txt")
|
.arg("check_fail.txt")
|
||||||
|
.arg("--buffer-size=10b")
|
||||||
.fails()
|
.fails()
|
||||||
.stderr_only("sort: check_fail.txt:6: disorder: 5\n");
|
.stderr_only("sort: check_fail.txt:6: disorder: 5\n");
|
||||||
|
|
||||||
|
@ -892,6 +893,29 @@ fn test_compress() {
|
||||||
.stdout_only_fixture("ext_sort.expected");
|
.stdout_only_fixture("ext_sort.expected");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
#[cfg(target_os = "linux")]
|
||||||
|
fn test_compress_merge() {
|
||||||
|
new_ucmd!()
|
||||||
|
.args(&[
|
||||||
|
"--compress-program",
|
||||||
|
"gzip",
|
||||||
|
"-S",
|
||||||
|
"10",
|
||||||
|
"--batch-size=2",
|
||||||
|
"-m",
|
||||||
|
"--unique",
|
||||||
|
"merge_ints_interleaved_1.txt",
|
||||||
|
"merge_ints_interleaved_2.txt",
|
||||||
|
"merge_ints_interleaved_3.txt",
|
||||||
|
"merge_ints_interleaved_3.txt",
|
||||||
|
"merge_ints_interleaved_2.txt",
|
||||||
|
"merge_ints_interleaved_1.txt",
|
||||||
|
])
|
||||||
|
.succeeds()
|
||||||
|
.stdout_only_fixture("merge_ints_interleaved.expected");
|
||||||
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_compress_fail() {
|
fn test_compress_fail() {
|
||||||
TestScenario::new(util_name!())
|
TestScenario::new(util_name!())
|
||||||
|
@ -1027,7 +1051,8 @@ fn test_output_is_input() {
|
||||||
let (at, mut cmd) = at_and_ucmd!();
|
let (at, mut cmd) = at_and_ucmd!();
|
||||||
at.touch("file");
|
at.touch("file");
|
||||||
at.append("file", input);
|
at.append("file", input);
|
||||||
cmd.args(&["-m", "-o", "file", "file"]).succeeds();
|
cmd.args(&["-m", "-u", "-o", "file", "file", "file", "file"])
|
||||||
|
.succeeds();
|
||||||
assert_eq!(at.read("file"), input);
|
assert_eq!(at.read("file"), input);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue