diff --git a/include/spdk_internal/mock.h b/include/spdk_internal/mock.h index f5a366dda..212cf0c48 100644 --- a/include/spdk_internal/mock.h +++ b/include/spdk_internal/mock.h @@ -62,6 +62,10 @@ ut_ ## fn ## _mocked = false; \ ut_ ## fn = NULL; +/* for proving to *certain* static analysis tools that we didn't reset the mock function. */ +#define MOCK_CLEARED_ASSERT(fn) \ + SPDK_CU_ASSERT_FATAL(ut_ ## fn ## _mocked == false) + /* for declaring function protoypes for wrappers */ #define DECLARE_WRAPPER(fn, ret, args) \ extern bool ut_ ## fn ## _mocked; \ diff --git a/test/unit/lib/bdev/crypto.c/crypto_ut.c b/test/unit/lib/bdev/crypto.c/crypto_ut.c index b3e5df9ba..78982932e 100644 --- a/test/unit/lib/bdev/crypto.c/crypto_ut.c +++ b/test/unit/lib/bdev/crypto.c/crypto_ut.c @@ -742,6 +742,7 @@ test_initdrivers(void) MOCK_SET(rte_crypto_op_pool_create, (struct rte_mempool *)1); /* Check resources are sufficient failure. */ + MOCK_CLEARED_ASSERT(spdk_mempool_create); rc = vbdev_crypto_init_crypto_drivers(); CU_ASSERT(rc == -EINVAL); @@ -749,6 +750,7 @@ test_initdrivers(void) MOCK_SET(rte_cryptodev_device_count_by_driver, 2); MOCK_SET(rte_cryptodev_info_get, 1); MOCK_SET(rte_cryptodev_configure, -1); + MOCK_CLEARED_ASSERT(spdk_mempool_create); rc = vbdev_crypto_init_crypto_drivers(); MOCK_SET(rte_cryptodev_configure, 0); CU_ASSERT(g_mbuf_mp == NULL); @@ -757,6 +759,7 @@ test_initdrivers(void) /* Test failure of qp setup. */ MOCK_SET(rte_cryptodev_queue_pair_setup, -1); + MOCK_CLEARED_ASSERT(spdk_mempool_create); rc = vbdev_crypto_init_crypto_drivers(); CU_ASSERT(rc == -EINVAL); CU_ASSERT(g_mbuf_mp == NULL); @@ -765,6 +768,7 @@ test_initdrivers(void) /* Test failure of dev start. */ MOCK_SET(rte_cryptodev_start, -1); + MOCK_CLEARED_ASSERT(spdk_mempool_create); rc = vbdev_crypto_init_crypto_drivers(); CU_ASSERT(rc == -EINVAL); CU_ASSERT(g_mbuf_mp == NULL); @@ -772,6 +776,7 @@ test_initdrivers(void) MOCK_SET(rte_cryptodev_start, 0); /* Test happy path. */ + MOCK_CLEARED_ASSERT(spdk_mempool_create); rc = vbdev_crypto_init_crypto_drivers(); /* We don't have spdk_mempool_create mocked right now, so make sure to free the mempools. */ CU_ASSERT(g_mbuf_mp != NULL);