From 02e7c3ffbb1b157b417f67c155e00623d2575dac Mon Sep 17 00:00:00 2001 From: Paul Luse Date: Thu, 3 Aug 2017 09:38:30 -0700 Subject: [PATCH] ut/nvme: add coverage for nvme_free_request() Change-Id: I7be51b1eae787e7f87c7bc95633a5f58005c1cce Signed-off-by: Paul Luse Reviewed-on: https://review.gerrithub.io/372538 Tested-by: SPDK Automated Test System Reviewed-by: Daniel Verkamp --- test/unit/lib/nvme/nvme.c/nvme_ut.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/test/unit/lib/nvme/nvme.c/nvme_ut.c b/test/unit/lib/nvme/nvme.c/nvme_ut.c index f4788246a..34cc79b68 100644 --- a/test/unit/lib/nvme/nvme.c/nvme_ut.c +++ b/test/unit/lib/nvme/nvme.c/nvme_ut.c @@ -108,6 +108,25 @@ memset_trid(struct spdk_nvme_transport_id *trid1, struct spdk_nvme_transport_id memset(trid2, 0, sizeof(struct spdk_nvme_transport_id)); } +static void +test_nvme_free_request(void) +{ + struct nvme_request match_req; + struct spdk_nvme_qpair qpair; + struct nvme_request *req; + + /* put a req on the Q, take it off and compare */ + memset(&match_req.cmd, 0x5a, sizeof(struct spdk_nvme_cmd)); + match_req.qpair = &qpair; + /* the code under tests asserts this condition */ + match_req.num_children = 0; + STAILQ_INIT(&qpair.free_req); + + nvme_free_request(&match_req); + req = STAILQ_FIRST(&match_req.qpair->free_req); + CU_ASSERT(req == &match_req); +} + static void test_nvme_allocate_request_user_copy(void) { @@ -522,6 +541,8 @@ int main(int argc, char **argv) test_trid_adrfam_str) == NULL || CU_add_test(suite, "test_nvme_ctrlr_probe", test_nvme_ctrlr_probe) == NULL || + CU_add_test(suite, "test_nvme_free_request", + test_nvme_free_request) == NULL || CU_add_test(suite, "test_nvme_allocate_request_user_copy", test_nvme_allocate_request_user_copy) == NULL || CU_add_test(suite, "test_nvme_robust_mutex_init_shared",