diff --git a/Makefile b/Makefile index 958828545..68979e6b2 100644 --- a/Makefile +++ b/Makefile @@ -114,6 +114,7 @@ TEST_PROGS := \ basename \ cat \ cksum \ + comm \ cp \ cut \ dirname \ diff --git a/tests/comm.rs b/tests/comm.rs new file mode 100644 index 000000000..390d50b89 --- /dev/null +++ b/tests/comm.rs @@ -0,0 +1,47 @@ +#[macro_use] mod common; + +use common::util; + +static UTIL_NAME: &'static str = "comm"; + +#[test] +fn test_comm_ab_no_args() { + let (at, mut ucmd) = util::testing(UTIL_NAME); + let result = ucmd.args(&["a", "b"]).run(); + assert_eq!(result.stdout, at.read("ab.expected")); +} + +#[test] +fn test_comm_ab_dash_one() { + let (at, mut ucmd) = util::testing(UTIL_NAME); + let result = ucmd.args(&["a", "b", "-1"]).run(); + assert_eq!(result.stdout, at.read("ab1.expected")); +} + +#[test] +fn test_comm_ab_dash_two() { + let (at, mut ucmd) = util::testing(UTIL_NAME); + let result = ucmd.args(&["a", "b", "-2"]).run(); + assert_eq!(result.stdout, at.read("ab2.expected")); +} + +#[test] +fn test_comm_ab_dash_three() { + let (at, mut ucmd) = util::testing(UTIL_NAME); + let result = ucmd.args(&["a", "b", "-3"]).run(); + assert_eq!(result.stdout, at.read("ab3.expected")); +} + +#[test] +fn test_comm_aempty() { + let (at, mut ucmd) = util::testing(UTIL_NAME); + let result = ucmd.args(&["a", "empty"]).run(); + assert_eq!(result.stdout, at.read("aempty.expected")); +} + +#[test] +fn test_comm_emptyempty() { + let (at, mut ucmd) = util::testing(UTIL_NAME); + let result = ucmd.args(&["empty", "empty"]).run(); + assert_eq!(result.stdout, at.read("emptyempty.expected")); +} diff --git a/tests/fixtures/comm/a b/tests/fixtures/comm/a new file mode 100644 index 000000000..58f424cdb --- /dev/null +++ b/tests/fixtures/comm/a @@ -0,0 +1,2 @@ +a +z diff --git a/tests/fixtures/comm/ab.expected b/tests/fixtures/comm/ab.expected new file mode 100644 index 000000000..0efac0666 --- /dev/null +++ b/tests/fixtures/comm/ab.expected @@ -0,0 +1,3 @@ +a + b + z diff --git a/tests/fixtures/comm/ab1.expected b/tests/fixtures/comm/ab1.expected new file mode 100644 index 000000000..7c81c8ba7 --- /dev/null +++ b/tests/fixtures/comm/ab1.expected @@ -0,0 +1,2 @@ +b + z diff --git a/tests/fixtures/comm/ab2.expected b/tests/fixtures/comm/ab2.expected new file mode 100644 index 000000000..c98cd0da6 --- /dev/null +++ b/tests/fixtures/comm/ab2.expected @@ -0,0 +1,2 @@ +a + z diff --git a/tests/fixtures/comm/ab3.expected b/tests/fixtures/comm/ab3.expected new file mode 100644 index 000000000..1898bc804 --- /dev/null +++ b/tests/fixtures/comm/ab3.expected @@ -0,0 +1,2 @@ +a + b diff --git a/tests/fixtures/comm/aempty.expected b/tests/fixtures/comm/aempty.expected new file mode 100644 index 000000000..58f424cdb --- /dev/null +++ b/tests/fixtures/comm/aempty.expected @@ -0,0 +1,2 @@ +a +z diff --git a/tests/fixtures/comm/b b/tests/fixtures/comm/b new file mode 100644 index 000000000..63d7d7058 --- /dev/null +++ b/tests/fixtures/comm/b @@ -0,0 +1,2 @@ +b +z diff --git a/tests/fixtures/comm/empty b/tests/fixtures/comm/empty new file mode 100644 index 000000000..e69de29bb diff --git a/tests/fixtures/comm/emptyempty.expected b/tests/fixtures/comm/emptyempty.expected new file mode 100644 index 000000000..e69de29bb