diff --git a/tests/api.c b/tests/api.c index be3d7f0aa..e92f1e44a 100644 --- a/tests/api.c +++ b/tests/api.c @@ -5877,6 +5877,50 @@ static int test_wc_InitBlake2b (void) return ret; } /*END test_wc_InitBlake2b*/ +/* + * Unit test for the wc_InitBlake2b_WithKey() + */ +static int test_wc_InitBlake2b_WithKey (void) +{ + int ret = 0; +#ifdef HAVE_BLAKE2 + Blake2b blake2; + word32 digestSz = BLAKE2B_KEYBYTES; + byte key[BLAKE2B_KEYBYTES]; + word32 keylen = BLAKE2B_KEYBYTES; + + + + printf(testingFmt, "wc_InitBlake2b_WithKey()"); + + /* Test good arg. */ + ret = wc_InitBlake2b_WithKey(&blake2, digestSz, key, keylen); + if (ret != 0) { + ret = WOLFSSL_FATAL_ERROR; + } + /* Test bad args. */ + if (ret == 0) { + ret = wc_InitBlake2b_WithKey(NULL, digestSz, key, keylen); + if (ret == BAD_FUNC_ARG) { + ret = 0; + } + } + if (ret == 0) { + ret = wc_InitBlake2b_WithKey(&blake2, digestSz, key, 256); + if (ret == BAD_FUNC_ARG) { + ret = 0; + } + } + if (ret == 0) { + ret = wc_InitBlake2b_WithKey(&blake2, digestSz, NULL, keylen); + } + + printf(resultFmt, ret == 0 ? passed : failed); + +#endif + return ret; +} /*END wc_InitBlake2b_WithKey*/ + /* * Unit test for the wc_InitBlake2s_WithKey() */ @@ -39024,6 +39068,7 @@ void ApiTest(void) AssertFalse(test_wc_Sha224GetHash()); AssertFalse(test_wc_Sha224Copy()); AssertFalse(test_wc_InitBlake2b()); + AssertFalse(test_wc_InitBlake2b_WithKey()); AssertFalse(test_wc_InitBlake2s_WithKey()); AssertFalse(test_wc_InitRipeMd()); AssertFalse(test_wc_RipeMdUpdate());