mirror of
https://github.com/uutils/coreutils.git
synced 2026-05-06 07:26:38 -04:00
uniq: add tests
This commit is contained in:
@@ -171,6 +171,7 @@ TEST_PROGS := \
|
||||
truncate \
|
||||
tsort \
|
||||
unexpand \
|
||||
uniq \
|
||||
unlink \
|
||||
wc
|
||||
|
||||
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
aaaaa 1
|
||||
Xbbbb 2
|
||||
XXbbb 2
|
||||
ccccc 3
|
||||
Xdddd 3
|
||||
XXddd 3
|
||||
XXXdd 1
|
||||
eeee
|
||||
fff
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
aaa aa a
|
||||
aa a
|
||||
@@ -0,0 +1,6 @@
|
||||
aaaaa 1
|
||||
Xbbbb 2
|
||||
ccccc 3
|
||||
Xdddd 3
|
||||
eeee
|
||||
fff
|
||||
@@ -0,0 +1,7 @@
|
||||
aaaaa 1
|
||||
Xbbbb 2
|
||||
ccccc 3
|
||||
Xdddd 3
|
||||
XXXdd 1
|
||||
eeee
|
||||
fff
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
aaaaa 1
|
||||
Xbbbb 2
|
||||
ccccc 3
|
||||
XXXdd 1
|
||||
eeee
|
||||
Vendored
+12
@@ -0,0 +1,12 @@
|
||||
aaaaa 1
|
||||
Xbbbb 2
|
||||
XXbbb 2
|
||||
ccccc 3
|
||||
Xcccc 3
|
||||
ccccc 3
|
||||
Xdddd 3
|
||||
XXddd 3
|
||||
XXXdd 1
|
||||
XXXdd 1
|
||||
eeee
|
||||
fff
|
||||
Vendored
+8
@@ -0,0 +1,8 @@
|
||||
aaa aa a
|
||||
ZZZ aa a
|
||||
ZZZ aa a
|
||||
ZZZ bb a
|
||||
ZZZ bb a
|
||||
aa a
|
||||
a
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
|
||||
bbbbb ⅱ
|
||||
bbbbb ⅱ
|
||||
|
||||
ccccc ⅲ
|
||||
ccccc ⅲ
|
||||
ccccc ⅲ
|
||||
|
||||
ddddd ⅲ
|
||||
ddddd ⅲ
|
||||
ddddd ⅲ
|
||||
ddddd ⅲ
|
||||
|
||||
fffff ⅲ
|
||||
fffff ⅲ
|
||||
|
||||
ggggg ⅲ
|
||||
ggggg ⅲ
|
||||
ggggg ⅲ
|
||||
|
||||
GGGGG ⅲ
|
||||
GGGGG ⅲ
|
||||
@@ -0,0 +1,21 @@
|
||||
bbbbb ⅱ
|
||||
bbbbb ⅱ
|
||||
|
||||
ccccc ⅲ
|
||||
ccccc ⅲ
|
||||
ccccc ⅲ
|
||||
|
||||
ddddd ⅲ
|
||||
ddddd ⅲ
|
||||
ddddd ⅲ
|
||||
ddddd ⅲ
|
||||
|
||||
fffff ⅲ
|
||||
fffff ⅲ
|
||||
|
||||
ggggg ⅲ
|
||||
ggggg ⅲ
|
||||
ggggg ⅲ
|
||||
|
||||
GGGGG ⅲ
|
||||
GGGGG ⅲ
|
||||
@@ -0,0 +1,16 @@
|
||||
bbbbb ⅱ
|
||||
bbbbb ⅱ
|
||||
ccccc ⅲ
|
||||
ccccc ⅲ
|
||||
ccccc ⅲ
|
||||
ddddd ⅲ
|
||||
ddddd ⅲ
|
||||
ddddd ⅲ
|
||||
ddddd ⅲ
|
||||
fffff ⅲ
|
||||
fffff ⅲ
|
||||
ggggg ⅲ
|
||||
ggggg ⅲ
|
||||
ggggg ⅲ
|
||||
GGGGG ⅲ
|
||||
GGGGG ⅲ
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
1 aaaaa ⅰ
|
||||
2 bbbbb ⅱ
|
||||
3 ccccc ⅲ
|
||||
4 ddddd ⅲ
|
||||
1 eeeee ⅲ
|
||||
2 fffff ⅲ
|
||||
3 ggggg ⅲ
|
||||
2 GGGGG ⅲ
|
||||
@@ -0,0 +1,7 @@
|
||||
aaaaa ⅰ
|
||||
bbbbb ⅱ
|
||||
ccccc ⅲ
|
||||
ddddd ⅲ
|
||||
eeeee ⅲ
|
||||
fffff ⅲ
|
||||
ggggg ⅲ
|
||||
@@ -0,0 +1,6 @@
|
||||
bbbbb ⅱ
|
||||
ccccc ⅲ
|
||||
ddddd ⅲ
|
||||
fffff ⅲ
|
||||
ggggg ⅲ
|
||||
GGGGG ⅲ
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
aaaaa ⅰ
|
||||
bbbbb ⅱ
|
||||
ccccc ⅲ
|
||||
ddddd ⅲ
|
||||
eeeee ⅲ
|
||||
fffff ⅲ
|
||||
ggggg ⅲ
|
||||
GGGGG ⅲ
|
||||
@@ -0,0 +1,2 @@
|
||||
aaaaa ⅰ
|
||||
eeeee ⅲ
|
||||
Vendored
+18
@@ -0,0 +1,18 @@
|
||||
aaaaa ⅰ
|
||||
bbbbb ⅱ
|
||||
bbbbb ⅱ
|
||||
ccccc ⅲ
|
||||
ccccc ⅲ
|
||||
ccccc ⅲ
|
||||
ddddd ⅲ
|
||||
ddddd ⅲ
|
||||
ddddd ⅲ
|
||||
ddddd ⅲ
|
||||
eeeee ⅲ
|
||||
fffff ⅲ
|
||||
fffff ⅲ
|
||||
ggggg ⅲ
|
||||
ggggg ⅲ
|
||||
ggggg ⅲ
|
||||
GGGGG ⅲ
|
||||
GGGGG ⅲ
|
||||
@@ -0,0 +1,95 @@
|
||||
#[macro_use]
|
||||
mod common;
|
||||
|
||||
use common::util::*;
|
||||
|
||||
static UTIL_NAME: &'static str = "uniq";
|
||||
|
||||
static INPUT: &'static str = "sorted.txt";
|
||||
static SKIP_CHARS: &'static str = "skip-chars.txt";
|
||||
static SKIP_FIELDS: &'static str = "skip-fields.txt";
|
||||
|
||||
|
||||
#[test]
|
||||
fn test_stdin_default() {
|
||||
let (at, mut ucmd) = testing(UTIL_NAME);
|
||||
let result = ucmd.run_piped_stdin(at.read(INPUT));
|
||||
assert_eq!(result.stdout, at.read("sorted-simple.expected"));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_single_default() {
|
||||
let (at, mut ucmd) = testing(UTIL_NAME);
|
||||
let result = ucmd.arg(INPUT).run();
|
||||
assert_eq!(result.stdout, at.read("sorted-simple.expected"));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_stdin_counts() {
|
||||
let (at, mut ucmd) = testing(UTIL_NAME);
|
||||
let result = ucmd.args(&["-c"]).run_piped_stdin(at.read(INPUT));
|
||||
assert_eq!(result.stdout, at.read("sorted-counts.expected"));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_stdin_skip_1_char() {
|
||||
let (at, mut ucmd) = testing(UTIL_NAME);
|
||||
let result = ucmd.args(&["-s1"]).run_piped_stdin(at.read(SKIP_CHARS));
|
||||
assert_eq!(result.stdout, at.read("skip-1-char.expected"));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_stdin_skip_5_chars() {
|
||||
let (at, mut ucmd) = testing(UTIL_NAME);
|
||||
let result = ucmd.args(&["-s5"]).run_piped_stdin(at.read(SKIP_CHARS));
|
||||
assert_eq!(result.stdout, at.read("skip-5-chars.expected"));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_stdin_skip_and_check_2_chars() {
|
||||
let (at, mut ucmd) = testing(UTIL_NAME);
|
||||
let result = ucmd.args(&["-s3", "-w2"]).run_piped_stdin(at.read(SKIP_CHARS));
|
||||
assert_eq!(result.stdout, at.read("skip-3-check-2-chars.expected"));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_stdin_skip_1_field() {
|
||||
let (at, mut ucmd) = testing(UTIL_NAME);
|
||||
let result = ucmd.args(&["-f2"]).run_piped_stdin(at.read(SKIP_FIELDS));
|
||||
assert_eq!(result.stdout, at.read("skip-2-fields.expected"));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_stdin_all_repeated() {
|
||||
let (at, mut ucmd) = testing(UTIL_NAME);
|
||||
let result = ucmd.args(&["--all-repeated"]).run_piped_stdin(at.read(INPUT));
|
||||
assert_eq!(result.stdout, at.read("sorted-all-repeated.expected"));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_stdin_all_repeated_separate() {
|
||||
let (at, mut ucmd) = testing(UTIL_NAME);
|
||||
let result = ucmd.args(&["--all-repeated", "separate"]).run_piped_stdin(at.read(INPUT));
|
||||
assert_eq!(result.stdout, at.read("sorted-all-repeated-separate.expected"));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_stdin_all_repeated_prepend() {
|
||||
let (at, mut ucmd) = testing(UTIL_NAME);
|
||||
let result = ucmd.args(&["--all-repeated", "prepend"]).run_piped_stdin(at.read(INPUT));
|
||||
assert_eq!(result.stdout, at.read("sorted-all-repeated-prepend.expected"));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_stdin_unique_only() {
|
||||
let (at, mut ucmd) = testing(UTIL_NAME);
|
||||
let result = ucmd.args(&["-u"]).run_piped_stdin(at.read(INPUT));
|
||||
assert_eq!(result.stdout, at.read("sorted-unique-only.expected"));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_stdin_repeated_only() {
|
||||
let (at, mut ucmd) = testing(UTIL_NAME);
|
||||
let result = ucmd.args(&["-d"]).run_piped_stdin(at.read(INPUT));
|
||||
assert_eq!(result.stdout, at.read("sorted-repeated-only.expected"));
|
||||
}
|
||||
Reference in New Issue
Block a user