Add tests for invalid paramters
Signed-off-by: Dave Rodgman <dave.rodgman@arm.com>
diff --git a/tests/suites/test_suite_shax.data b/tests/suites/test_suite_shax.data
index f443ecf..5769aa2 100644
--- a/tests/suites/test_suite_shax.data
+++ b/tests/suites/test_suite_shax.data
@@ -2410,3 +2410,7 @@
SHA-3 Selftest
depends_on:MBEDTLS_SELF_TEST:MBEDTLS_SHA3_C
sha3_selftest:
+
+SHA-3 invalid param
+depends_on:MBEDTLS_SHA3_C
+sha3_invalid_param
diff --git a/tests/suites/test_suite_shax.function b/tests/suites/test_suite_shax.function
index dec9f69..0468f72 100644
--- a/tests/suites/test_suite_shax.function
+++ b/tests/suites/test_suite_shax.function
@@ -166,6 +166,26 @@
}
/* END_CASE */
+/* BEGIN_CASE */
+void sha3_invalid_param()
+{
+ unsigned char output[32];
+ mbedtls_sha3_context ctx;
+
+ mbedtls_sha3_init(&ctx);
+ TEST_EQUAL(mbedtls_sha3_starts(&ctx, MBEDTLS_SHA3_NONE), MBEDTLS_ERR_SHA3_BAD_INPUT_DATA);
+
+ TEST_EQUAL(mbedtls_sha3_starts(&ctx, MBEDTLS_SHA3_256), 0);
+
+ TEST_EQUAL(mbedtls_sha3_finish(&ctx, output, 0), MBEDTLS_ERR_SHA3_BAD_INPUT_DATA);
+ TEST_EQUAL(mbedtls_sha3_finish(&ctx, output, 31), MBEDTLS_ERR_SHA3_BAD_INPUT_DATA);
+ TEST_EQUAL(mbedtls_sha3_finish(&ctx, output, 32), 0);
+
+exit:
+ return;
+}
+/* END_CASE */
+
/* BEGIN_CASE depends_on:MBEDTLS_SHA3_C */
void mbedtls_sha3_multi(int family, data_t *in, data_t *hash)
{