From 09ef150085f34b5e260b6a75d15e8da4a9721681 Mon Sep 17 00:00:00 2001 From: Vardhan Patil Date: Sat, 30 Dec 2023 16:01:22 +0530 Subject: [PATCH] tests/cksum: add tests for the length argument --- tests/by-util/test_cksum.rs | 34 +++++++++++++++++++ .../fixtures/cksum/supported_length.expected | 2 ++ .../cksum/unsupported_length.expected | 2 ++ 3 files changed, 38 insertions(+) create mode 100644 tests/fixtures/cksum/supported_length.expected create mode 100644 tests/fixtures/cksum/unsupported_length.expected diff --git a/tests/by-util/test_cksum.rs b/tests/by-util/test_cksum.rs index a9d9b272b..dbf7264e8 100644 --- a/tests/by-util/test_cksum.rs +++ b/tests/by-util/test_cksum.rs @@ -228,3 +228,37 @@ fn test_untagged_algorithm_stdin() { .stdout_is_fixture(format!("untagged/{algo}_stdin.expected")); } } + +#[test] +fn test_length_with_wrong_algorithm() { + new_ucmd!() + .arg("--length=16") + .arg("--algorithm=md5") + .arg("lorem_ipsum.txt") + .fails() + .no_stdout() + .stderr_contains("cksum: --length is only supported with --algorithm=blake2b") + .code_is(1); +} + +#[test] +fn test_length_not_supported() { + new_ucmd!() + .arg("--length=15") + .arg("lorem_ipsum.txt") + .fails() + .no_stdout() + .stderr_is_fixture("unsupported_length.expected") + .code_is(1); +} + +#[test] +fn test_length() { + new_ucmd!() + .arg("--length=16") + .arg("--algorithm=blake2b") + .arg("lorem_ipsum.txt") + .arg("alice_in_wonderland.txt") + .succeeds() + .stdout_is_fixture("supported_length.expected"); +} diff --git a/tests/fixtures/cksum/supported_length.expected b/tests/fixtures/cksum/supported_length.expected new file mode 100644 index 000000000..a2edb23e9 --- /dev/null +++ b/tests/fixtures/cksum/supported_length.expected @@ -0,0 +1,2 @@ +BLAKE2b-16 (lorem_ipsum.txt) = 7e2f +BLAKE2b-16 (alice_in_wonderland.txt) = a546 diff --git a/tests/fixtures/cksum/unsupported_length.expected b/tests/fixtures/cksum/unsupported_length.expected new file mode 100644 index 000000000..c2a05fec7 --- /dev/null +++ b/tests/fixtures/cksum/unsupported_length.expected @@ -0,0 +1,2 @@ +cksum: invalid length: ‘15’ +cksum: length is not a multiple of 8