Skip to content

Commit 8c8187f

Browse files
committed
test(cksum): Add tests for SHAKE128|256
1 parent d96f72e commit 8c8187f

File tree

1 file changed

+64
-0
lines changed

1 file changed

+64
-0
lines changed

tests/by-util/test_cksum.rs

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
// file that was distributed with this source code.
55
// spell-checker:ignore (words) asdf algo algos asha mgmt xffname hexa GFYEQ HYQK Yqxb dont checkfile
66

7+
use rstest::rstest;
8+
79
use uutests::at_and_ucmd;
810
use uutests::new_ucmd;
911
use uutests::util::TestScenario;
@@ -3098,3 +3100,65 @@ fn test_check_checkfile_with_io_error() {
30983100
.stderr_contains("/proc/self/mem: read error")
30993101
.no_stdout();
31003102
}
3103+
3104+
#[rstest]
3105+
#[case::default_length(
3106+
b"foo",
3107+
&[],
3108+
"f84e95cb5fbd2038863ab27d3cdeac295ad2d4ab96ad1f4b070c0bf36078ef08"
3109+
)]
3110+
#[case::pass_default_length(
3111+
b"foo",
3112+
&["-l", "256"],
3113+
"f84e95cb5fbd2038863ab27d3cdeac295ad2d4ab96ad1f4b070c0bf36078ef08"
3114+
)]
3115+
#[case::smaller_length(
3116+
b"foo",
3117+
&["-l", "128"],
3118+
"f84e95cb5fbd2038863ab27d3cdeac29"
3119+
)]
3120+
#[case::bigger_length(
3121+
b"foo",
3122+
&["-l", "264"],
3123+
"f84e95cb5fbd2038863ab27d3cdeac295ad2d4ab96ad1f4b070c0bf36078ef0881"
3124+
)]
3125+
fn test_shake128(#[case] input: &[u8], #[case] args: &[&str], #[case] expected: &str) {
3126+
new_ucmd!()
3127+
.arg("-a")
3128+
.arg("shake128")
3129+
.args(args)
3130+
.pipe_in(input)
3131+
.succeeds()
3132+
.stdout_only(format!("SHAKE128 (-) = {expected}\n"));
3133+
}
3134+
3135+
#[rstest]
3136+
#[case::default_length(
3137+
b"foo",
3138+
&[],
3139+
"1af97f7818a28edfdfce5ec66dbdc7e871813816d7d585fe1f12475ded5b6502b7723b74e2ee36f2651a10a8eaca72aa9148c3c761aaceac8f6d6cc64381ed39"
3140+
)]
3141+
#[case::pass_default_length(
3142+
b"foo",
3143+
&["-l", "512"],
3144+
"1af97f7818a28edfdfce5ec66dbdc7e871813816d7d585fe1f12475ded5b6502b7723b74e2ee36f2651a10a8eaca72aa9148c3c761aaceac8f6d6cc64381ed39"
3145+
)]
3146+
#[case::smaller_length(
3147+
b"foo",
3148+
&["-l", "128"],
3149+
"1af97f7818a28edfdfce5ec66dbdc7e8"
3150+
)]
3151+
#[case::bigger_length(
3152+
b"foo",
3153+
&["-l", "1024"],
3154+
"1af97f7818a28edfdfce5ec66dbdc7e871813816d7d585fe1f12475ded5b6502b7723b74e2ee36f2651a10a8eaca72aa9148c3c761aaceac8f6d6cc64381ed39b165dd57d09133bb3f5ecbbe628a3447dd0f79e2fbe540e2d4033950386cd5dcda9691e9acba695fd0942a1ab7e8c4ffa2d7e00763a0dc6b04f7ef50ddc03c4a"
3155+
)]
3156+
fn test_shake256(#[case] input: &[u8], #[case] args: &[&str], #[case] expected: &str) {
3157+
new_ucmd!()
3158+
.arg("-a")
3159+
.arg("shake256")
3160+
.args(args)
3161+
.pipe_in(input)
3162+
.succeeds()
3163+
.stdout_only(format!("SHAKE256 (-) = {expected}\n"));
3164+
}

0 commit comments

Comments
 (0)