unittest/nvme_ns: increase code coverage
nvme_ns_has_supported_iocs_specific_data and nvme_ctrlr_identify_ns_iocs_specific and nvme_ns_free_zns_specific_data code comprehensive coverage. Signed-off-by: ChengqiangMeng <chengqiangx.meng@intel.com> Change-Id: I2a3d26fbfbdd052978c7af282ce88ca4f3da83b7 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/6719 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Mellanox Build Bot Reviewed-by: Changpeng Liu <changpeng.liu@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
This commit is contained in:
parent
dc03266366
commit
dfe8d308a1
@ -58,6 +58,10 @@ fake_cpl_sc(spdk_nvme_cmd_cb cb_fn, void *cb_arg)
|
||||
}
|
||||
|
||||
static struct spdk_nvme_ns_data *fake_nsdata;
|
||||
static struct spdk_nvme_zns_ns_data nsdata_zns = {
|
||||
.mar = 1024,
|
||||
.mor = 1024,
|
||||
};
|
||||
|
||||
int
|
||||
nvme_ctrlr_cmd_identify(struct spdk_nvme_ctrlr *ctrlr, uint8_t cns, uint16_t cntid, uint32_t nsid,
|
||||
@ -73,8 +77,11 @@ nvme_ctrlr_cmd_identify(struct spdk_nvme_ctrlr *ctrlr, uint8_t cns, uint16_t cnt
|
||||
}
|
||||
fake_cpl_sc(cb_fn, cb_arg);
|
||||
return 0;
|
||||
} else if (cns == SPDK_NVME_IDENTIFY_NS_IOCS) {
|
||||
assert(payload_size == sizeof(struct spdk_nvme_zns_ns_data));
|
||||
memcpy(payload, &nsdata_zns, sizeof(struct spdk_nvme_zns_ns_data));
|
||||
return 0;
|
||||
}
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
@ -407,6 +414,45 @@ spdk_nvme_ns_supports(void)
|
||||
CU_ASSERT(spdk_nvme_ns_supports_compare(&ns) == true);
|
||||
}
|
||||
|
||||
static void
|
||||
test_nvme_ns_has_supported_iocs_specific_data(void)
|
||||
{
|
||||
struct spdk_nvme_ns ns = {};
|
||||
|
||||
/* case 1: ns.csi == SPDK_NVME_CSI_NVM. Expect: false */
|
||||
ns.csi = SPDK_NVME_CSI_NVM;
|
||||
CU_ASSERT(nvme_ns_has_supported_iocs_specific_data(&ns) == false);
|
||||
/* case 2: ns.csi == SPDK_NVME_CSI_ZNS. Expect: true */
|
||||
ns.csi = SPDK_NVME_CSI_ZNS;
|
||||
CU_ASSERT(nvme_ns_has_supported_iocs_specific_data(&ns) == true);
|
||||
/* case 3: defult ns.csi == SPDK_NVME_CSI_KV. Expect: false */
|
||||
ns.csi = SPDK_NVME_CSI_KV;
|
||||
CU_ASSERT(nvme_ns_has_supported_iocs_specific_data(&ns) == false);
|
||||
}
|
||||
|
||||
static void
|
||||
test_nvme_ctrlr_identify_ns_iocs_specific(void)
|
||||
{
|
||||
struct spdk_nvme_ns ns = {};
|
||||
struct spdk_nvme_ctrlr ctrlr = {};
|
||||
int rc = 0;
|
||||
|
||||
ns.ctrlr = &ctrlr;
|
||||
|
||||
ns.csi = SPDK_NVME_CSI_ZNS;
|
||||
ns.id = 1;
|
||||
|
||||
/* case 1: Test nvme_ctrlr_identify_ns_iocs_specific. Expect: PASS. */
|
||||
rc = nvme_ctrlr_identify_ns_iocs_specific(&ns);
|
||||
CU_ASSERT(rc == 0);
|
||||
CU_ASSERT(ns.nsdata_zns->mar == 1024);
|
||||
CU_ASSERT(ns.nsdata_zns->mor == 1024);
|
||||
|
||||
/* case 2: Test nvme_ns_free_zns_specific_data. Expect: PASS. */
|
||||
nvme_ns_free_zns_specific_data(&ns);
|
||||
CU_ASSERT(ns.nsdata_zns == NULL);
|
||||
}
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
CU_pSuite suite = NULL;
|
||||
@ -425,6 +471,8 @@ int main(int argc, char **argv)
|
||||
CU_ADD_TEST(suite, test_spdk_nvme_ns_get_values);
|
||||
CU_ADD_TEST(suite, test_spdk_nvme_ns_is_active);
|
||||
CU_ADD_TEST(suite, spdk_nvme_ns_supports);
|
||||
CU_ADD_TEST(suite, test_nvme_ns_has_supported_iocs_specific_data);
|
||||
CU_ADD_TEST(suite, test_nvme_ctrlr_identify_ns_iocs_specific);
|
||||
|
||||
CU_basic_set_mode(CU_BRM_VERBOSE);
|
||||
CU_basic_run_tests();
|
||||
|
Loading…
x
Reference in New Issue
Block a user