test/nvme_ctrlr_ocssd_cmd: check ocssd supported
Change-Id: Ic2c6dfd0f0574e49856bc79b6024596c0d49cc5d Signed-off-by: Mao Jiang <maox.jiang@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/7380 Community-CI: Broadcom CI Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Changpeng Liu <changpeng.liu@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
This commit is contained in:
parent
5a752ae1aa
commit
9ac73cb3b9
@ -36,10 +36,8 @@
|
||||
|
||||
#include "nvme/nvme_ctrlr_ocssd_cmd.c"
|
||||
|
||||
DEFINE_STUB(spdk_nvme_ctrlr_get_ns, struct spdk_nvme_ns *,
|
||||
(struct spdk_nvme_ctrlr *ctrlr, uint32_t ns_id), NULL);
|
||||
DEFINE_STUB(spdk_nvme_ctrlr_get_first_active_ns, uint32_t,
|
||||
(struct spdk_nvme_ctrlr *ctrlr), 0);
|
||||
(struct spdk_nvme_ctrlr *ctrlr), 1);
|
||||
|
||||
#define DECLARE_AND_CONSTRUCT_CTRLR() \
|
||||
struct spdk_nvme_ctrlr ctrlr = {}; \
|
||||
@ -61,6 +59,16 @@ verify_request_fn_t verify_fn;
|
||||
|
||||
static const uint32_t expected_geometry_ns = 1;
|
||||
|
||||
struct spdk_nvme_ns *
|
||||
spdk_nvme_ctrlr_get_ns(struct spdk_nvme_ctrlr *ctrlr, uint32_t nsid)
|
||||
{
|
||||
if (nsid < 1 || nsid > ctrlr->num_ns) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
return &ctrlr->ns[nsid - 1];
|
||||
}
|
||||
|
||||
int
|
||||
nvme_ctrlr_submit_admin_request(struct spdk_nvme_ctrlr *ctrlr, struct nvme_request *req)
|
||||
{
|
||||
@ -98,6 +106,35 @@ test_geometry_cmd(void)
|
||||
DECONSTRUCT_CTRLR();
|
||||
}
|
||||
|
||||
static void
|
||||
test_spdk_nvme_ctrlr_is_ocssd_supported(void)
|
||||
{
|
||||
struct spdk_nvme_ctrlr ctrlr = {};
|
||||
struct spdk_nvme_ns ns = {};
|
||||
bool rc;
|
||||
|
||||
ns.nsdata.vendor_specific[0] = 1;
|
||||
ctrlr.ns = &ns;
|
||||
ctrlr.quirks |= NVME_QUIRK_OCSSD;
|
||||
ctrlr.cdata.vid = SPDK_PCI_VID_CNEXLABS;
|
||||
ctrlr.num_ns = 1;
|
||||
|
||||
rc = spdk_nvme_ctrlr_is_ocssd_supported(&ctrlr);
|
||||
CU_ASSERT(rc == true);
|
||||
|
||||
/* Clear quirks`s ocssd flag. */
|
||||
ctrlr.quirks = 0;
|
||||
|
||||
rc = spdk_nvme_ctrlr_is_ocssd_supported(&ctrlr);
|
||||
CU_ASSERT(rc == false);
|
||||
|
||||
/* NS count is 0. */
|
||||
ctrlr.num_ns = 0;
|
||||
|
||||
rc = spdk_nvme_ctrlr_is_ocssd_supported(&ctrlr);
|
||||
CU_ASSERT(rc == false);
|
||||
}
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
CU_pSuite suite = NULL;
|
||||
@ -109,6 +146,7 @@ int main(int argc, char **argv)
|
||||
suite = CU_add_suite("nvme_ctrlr_cmd", NULL, NULL);
|
||||
|
||||
CU_ADD_TEST(suite, test_geometry_cmd);
|
||||
CU_ADD_TEST(suite, test_spdk_nvme_ctrlr_is_ocssd_supported);
|
||||
|
||||
CU_basic_set_mode(CU_BRM_VERBOSE);
|
||||
CU_basic_run_tests();
|
||||
|
Loading…
x
Reference in New Issue
Block a user