@@ -17,8 +17,30 @@ void random_test_get_size(void)
CU_ASSERT(ret == sizeof(buf));
}
+void random_test_entropy(void)
+{
+ odp_crypto_capability_t capa;
+ int32_t rc;
+ uint8_t buf[4096];
+ uint32_t buf_size = sizeof(buf);
+
+ rc = odp_crypto_capability(&capa);
+ CU_ASSERT_FATAL(rc == 0);
+
+ if (capa.entropy_available) {
+ if (capa.entropy_size < buf_size)
+ buf_size = capa.entropy_size;
+ rc = odp_random_data(buf, buf_size, true);
+ CU_ASSERT((uint32_t)rc == buf_size);
+ } else {
+ rc = odp_random_data(buf, 4, true);
+ CU_ASSERT(rc < 0);
+ }
+}
+
odp_testinfo_t random_suite[] = {
ODP_TEST_INFO(random_test_get_size),
+ ODP_TEST_INFO(random_test_entropy),
ODP_TEST_INFO_NULL,
};
@@ -11,6 +11,7 @@
/* test functions: */
void random_test_get_size(void);
+void random_test_entropy(void);
/* test arrays: */
extern odp_testinfo_t random_suite[];
Add additional test to verify that entropy capabilities are present and behave as advertised. Signed-off-by: Bill Fischofer <bill.fischofer@linaro.org> --- test/common_plat/validation/api/random/random.c | 22 ++++++++++++++++++++++ test/common_plat/validation/api/random/random.h | 1 + 2 files changed, 23 insertions(+) -- 2.7.4