test: Use ut_multithread framework in nvmf/ctrlr
Change-Id: I497abe0996287203f4b99850202a23f35d360f5e Signed-off-by: Ben Walker <benjamin.walker@intel.com> Reviewed-on: https://review.gerrithub.io/422467 Chandler-Test-Pool: SPDK Automated Test System <sys_sgsw@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
This commit is contained in:
parent
c26bd15881
commit
06a0d9ab33
@ -37,7 +37,7 @@
|
|||||||
#include "spdk_internal/mock.h"
|
#include "spdk_internal/mock.h"
|
||||||
#include "spdk_internal/thread.h"
|
#include "spdk_internal/thread.h"
|
||||||
|
|
||||||
#include "common/lib/test_env.c"
|
#include "common/lib/ut_multithread.c"
|
||||||
#include "nvmf/ctrlr.c"
|
#include "nvmf/ctrlr.c"
|
||||||
|
|
||||||
SPDK_LOG_REGISTER_COMPONENT("nvmf", SPDK_LOG_NVMF)
|
SPDK_LOG_REGISTER_COMPONENT("nvmf", SPDK_LOG_NVMF)
|
||||||
@ -144,12 +144,6 @@ DEFINE_STUB(spdk_nvmf_transport_qpair_set_sqsize,
|
|||||||
(struct spdk_nvmf_qpair *qpair),
|
(struct spdk_nvmf_qpair *qpair),
|
||||||
0);
|
0);
|
||||||
|
|
||||||
static void
|
|
||||||
ctrlr_ut_pass_msg(spdk_msg_fn fn, void *ctx, void *thread_ctx)
|
|
||||||
{
|
|
||||||
fn(ctx);
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
void
|
||||||
spdk_nvmf_bdev_ctrlr_identify_ns(struct spdk_nvmf_ns *ns, struct spdk_nvme_ns_data *nsdata)
|
spdk_nvmf_bdev_ctrlr_identify_ns(struct spdk_nvmf_ns *ns, struct spdk_nvme_ns_data *nsdata)
|
||||||
{
|
{
|
||||||
@ -340,6 +334,7 @@ test_connect(void)
|
|||||||
/* Valid admin connect command */
|
/* Valid admin connect command */
|
||||||
memset(&rsp, 0, sizeof(rsp));
|
memset(&rsp, 0, sizeof(rsp));
|
||||||
rc = spdk_nvmf_ctrlr_connect(&req);
|
rc = spdk_nvmf_ctrlr_connect(&req);
|
||||||
|
poll_threads();
|
||||||
CU_ASSERT(rc == SPDK_NVMF_REQUEST_EXEC_STATUS_ASYNCHRONOUS);
|
CU_ASSERT(rc == SPDK_NVMF_REQUEST_EXEC_STATUS_ASYNCHRONOUS);
|
||||||
CU_ASSERT(nvme_status_success(&rsp.nvme_cpl.status));
|
CU_ASSERT(nvme_status_success(&rsp.nvme_cpl.status));
|
||||||
CU_ASSERT(qpair.ctrlr != NULL);
|
CU_ASSERT(qpair.ctrlr != NULL);
|
||||||
@ -351,6 +346,7 @@ test_connect(void)
|
|||||||
memset(&rsp, 0, sizeof(rsp));
|
memset(&rsp, 0, sizeof(rsp));
|
||||||
req.length = sizeof(connect_data) - 1;
|
req.length = sizeof(connect_data) - 1;
|
||||||
rc = spdk_nvmf_ctrlr_connect(&req);
|
rc = spdk_nvmf_ctrlr_connect(&req);
|
||||||
|
poll_threads();
|
||||||
CU_ASSERT(rc == SPDK_NVMF_REQUEST_EXEC_STATUS_COMPLETE);
|
CU_ASSERT(rc == SPDK_NVMF_REQUEST_EXEC_STATUS_COMPLETE);
|
||||||
CU_ASSERT(rsp.nvme_cpl.status.sct == SPDK_NVME_SCT_GENERIC);
|
CU_ASSERT(rsp.nvme_cpl.status.sct == SPDK_NVME_SCT_GENERIC);
|
||||||
CU_ASSERT(rsp.nvme_cpl.status.sc == SPDK_NVME_SC_INVALID_FIELD);
|
CU_ASSERT(rsp.nvme_cpl.status.sc == SPDK_NVME_SC_INVALID_FIELD);
|
||||||
@ -361,6 +357,7 @@ test_connect(void)
|
|||||||
memset(&rsp, 0, sizeof(rsp));
|
memset(&rsp, 0, sizeof(rsp));
|
||||||
cmd.connect_cmd.recfmt = 1234;
|
cmd.connect_cmd.recfmt = 1234;
|
||||||
rc = spdk_nvmf_ctrlr_connect(&req);
|
rc = spdk_nvmf_ctrlr_connect(&req);
|
||||||
|
poll_threads();
|
||||||
CU_ASSERT(rc == SPDK_NVMF_REQUEST_EXEC_STATUS_COMPLETE);
|
CU_ASSERT(rc == SPDK_NVMF_REQUEST_EXEC_STATUS_COMPLETE);
|
||||||
CU_ASSERT(rsp.nvme_cpl.status.sct == SPDK_NVME_SCT_COMMAND_SPECIFIC);
|
CU_ASSERT(rsp.nvme_cpl.status.sct == SPDK_NVME_SCT_COMMAND_SPECIFIC);
|
||||||
CU_ASSERT(rsp.nvme_cpl.status.sc == SPDK_NVMF_FABRIC_SC_INCOMPATIBLE_FORMAT);
|
CU_ASSERT(rsp.nvme_cpl.status.sc == SPDK_NVMF_FABRIC_SC_INCOMPATIBLE_FORMAT);
|
||||||
@ -371,6 +368,7 @@ test_connect(void)
|
|||||||
memset(&rsp, 0, sizeof(rsp));
|
memset(&rsp, 0, sizeof(rsp));
|
||||||
memset(connect_data.subnqn, 'a', sizeof(connect_data.subnqn));
|
memset(connect_data.subnqn, 'a', sizeof(connect_data.subnqn));
|
||||||
rc = spdk_nvmf_ctrlr_connect(&req);
|
rc = spdk_nvmf_ctrlr_connect(&req);
|
||||||
|
poll_threads();
|
||||||
CU_ASSERT(rc == SPDK_NVMF_REQUEST_EXEC_STATUS_COMPLETE);
|
CU_ASSERT(rc == SPDK_NVMF_REQUEST_EXEC_STATUS_COMPLETE);
|
||||||
CU_ASSERT(rsp.nvme_cpl.status.sct == SPDK_NVME_SCT_COMMAND_SPECIFIC);
|
CU_ASSERT(rsp.nvme_cpl.status.sct == SPDK_NVME_SCT_COMMAND_SPECIFIC);
|
||||||
CU_ASSERT(rsp.nvme_cpl.status.sc == SPDK_NVMF_FABRIC_SC_INVALID_PARAM);
|
CU_ASSERT(rsp.nvme_cpl.status.sc == SPDK_NVMF_FABRIC_SC_INVALID_PARAM);
|
||||||
@ -383,6 +381,7 @@ test_connect(void)
|
|||||||
memset(&rsp, 0, sizeof(rsp));
|
memset(&rsp, 0, sizeof(rsp));
|
||||||
MOCK_SET(spdk_nvmf_tgt_find_subsystem, NULL);
|
MOCK_SET(spdk_nvmf_tgt_find_subsystem, NULL);
|
||||||
rc = spdk_nvmf_ctrlr_connect(&req);
|
rc = spdk_nvmf_ctrlr_connect(&req);
|
||||||
|
poll_threads();
|
||||||
CU_ASSERT(rc == SPDK_NVMF_REQUEST_EXEC_STATUS_COMPLETE);
|
CU_ASSERT(rc == SPDK_NVMF_REQUEST_EXEC_STATUS_COMPLETE);
|
||||||
CU_ASSERT(rsp.nvme_cpl.status.sct == SPDK_NVME_SCT_COMMAND_SPECIFIC);
|
CU_ASSERT(rsp.nvme_cpl.status.sct == SPDK_NVME_SCT_COMMAND_SPECIFIC);
|
||||||
CU_ASSERT(rsp.nvme_cpl.status.sc == SPDK_NVMF_FABRIC_SC_INVALID_PARAM);
|
CU_ASSERT(rsp.nvme_cpl.status.sc == SPDK_NVMF_FABRIC_SC_INVALID_PARAM);
|
||||||
@ -395,6 +394,7 @@ test_connect(void)
|
|||||||
memset(&rsp, 0, sizeof(rsp));
|
memset(&rsp, 0, sizeof(rsp));
|
||||||
memset(connect_data.hostnqn, 'b', sizeof(connect_data.hostnqn));
|
memset(connect_data.hostnqn, 'b', sizeof(connect_data.hostnqn));
|
||||||
rc = spdk_nvmf_ctrlr_connect(&req);
|
rc = spdk_nvmf_ctrlr_connect(&req);
|
||||||
|
poll_threads();
|
||||||
CU_ASSERT(rc == SPDK_NVMF_REQUEST_EXEC_STATUS_COMPLETE);
|
CU_ASSERT(rc == SPDK_NVMF_REQUEST_EXEC_STATUS_COMPLETE);
|
||||||
CU_ASSERT(rsp.nvme_cpl.status.sct == SPDK_NVME_SCT_COMMAND_SPECIFIC);
|
CU_ASSERT(rsp.nvme_cpl.status.sct == SPDK_NVME_SCT_COMMAND_SPECIFIC);
|
||||||
CU_ASSERT(rsp.nvme_cpl.status.sc == SPDK_NVMF_FABRIC_SC_INVALID_PARAM);
|
CU_ASSERT(rsp.nvme_cpl.status.sc == SPDK_NVMF_FABRIC_SC_INVALID_PARAM);
|
||||||
@ -407,6 +407,7 @@ test_connect(void)
|
|||||||
memset(&rsp, 0, sizeof(rsp));
|
memset(&rsp, 0, sizeof(rsp));
|
||||||
MOCK_SET(spdk_nvmf_subsystem_host_allowed, false);
|
MOCK_SET(spdk_nvmf_subsystem_host_allowed, false);
|
||||||
rc = spdk_nvmf_ctrlr_connect(&req);
|
rc = spdk_nvmf_ctrlr_connect(&req);
|
||||||
|
poll_threads();
|
||||||
CU_ASSERT(rc == SPDK_NVMF_REQUEST_EXEC_STATUS_COMPLETE);
|
CU_ASSERT(rc == SPDK_NVMF_REQUEST_EXEC_STATUS_COMPLETE);
|
||||||
CU_ASSERT(rsp.nvme_cpl.status.sct == SPDK_NVME_SCT_COMMAND_SPECIFIC);
|
CU_ASSERT(rsp.nvme_cpl.status.sct == SPDK_NVME_SCT_COMMAND_SPECIFIC);
|
||||||
CU_ASSERT(rsp.nvme_cpl.status.sc == SPDK_NVMF_FABRIC_SC_INVALID_HOST);
|
CU_ASSERT(rsp.nvme_cpl.status.sc == SPDK_NVMF_FABRIC_SC_INVALID_HOST);
|
||||||
@ -417,6 +418,7 @@ test_connect(void)
|
|||||||
memset(&rsp, 0, sizeof(rsp));
|
memset(&rsp, 0, sizeof(rsp));
|
||||||
cmd.connect_cmd.sqsize = 0;
|
cmd.connect_cmd.sqsize = 0;
|
||||||
rc = spdk_nvmf_ctrlr_connect(&req);
|
rc = spdk_nvmf_ctrlr_connect(&req);
|
||||||
|
poll_threads();
|
||||||
CU_ASSERT(rc == SPDK_NVMF_REQUEST_EXEC_STATUS_COMPLETE);
|
CU_ASSERT(rc == SPDK_NVMF_REQUEST_EXEC_STATUS_COMPLETE);
|
||||||
CU_ASSERT(rsp.nvme_cpl.status.sct == SPDK_NVME_SCT_COMMAND_SPECIFIC);
|
CU_ASSERT(rsp.nvme_cpl.status.sct == SPDK_NVME_SCT_COMMAND_SPECIFIC);
|
||||||
CU_ASSERT(rsp.nvme_cpl.status.sc == SPDK_NVMF_FABRIC_SC_INVALID_PARAM);
|
CU_ASSERT(rsp.nvme_cpl.status.sc == SPDK_NVMF_FABRIC_SC_INVALID_PARAM);
|
||||||
@ -429,6 +431,7 @@ test_connect(void)
|
|||||||
memset(&rsp, 0, sizeof(rsp));
|
memset(&rsp, 0, sizeof(rsp));
|
||||||
cmd.connect_cmd.sqsize = 64;
|
cmd.connect_cmd.sqsize = 64;
|
||||||
rc = spdk_nvmf_ctrlr_connect(&req);
|
rc = spdk_nvmf_ctrlr_connect(&req);
|
||||||
|
poll_threads();
|
||||||
CU_ASSERT(rc == SPDK_NVMF_REQUEST_EXEC_STATUS_COMPLETE);
|
CU_ASSERT(rc == SPDK_NVMF_REQUEST_EXEC_STATUS_COMPLETE);
|
||||||
CU_ASSERT(rsp.nvme_cpl.status.sct == SPDK_NVME_SCT_COMMAND_SPECIFIC);
|
CU_ASSERT(rsp.nvme_cpl.status.sct == SPDK_NVME_SCT_COMMAND_SPECIFIC);
|
||||||
CU_ASSERT(rsp.nvme_cpl.status.sc == SPDK_NVMF_FABRIC_SC_INVALID_PARAM);
|
CU_ASSERT(rsp.nvme_cpl.status.sc == SPDK_NVMF_FABRIC_SC_INVALID_PARAM);
|
||||||
@ -441,6 +444,7 @@ test_connect(void)
|
|||||||
memset(&rsp, 0, sizeof(rsp));
|
memset(&rsp, 0, sizeof(rsp));
|
||||||
connect_data.cntlid = 0x1234;
|
connect_data.cntlid = 0x1234;
|
||||||
rc = spdk_nvmf_ctrlr_connect(&req);
|
rc = spdk_nvmf_ctrlr_connect(&req);
|
||||||
|
poll_threads();
|
||||||
CU_ASSERT(rc == SPDK_NVMF_REQUEST_EXEC_STATUS_COMPLETE);
|
CU_ASSERT(rc == SPDK_NVMF_REQUEST_EXEC_STATUS_COMPLETE);
|
||||||
CU_ASSERT(rsp.nvme_cpl.status.sct == SPDK_NVME_SCT_COMMAND_SPECIFIC);
|
CU_ASSERT(rsp.nvme_cpl.status.sct == SPDK_NVME_SCT_COMMAND_SPECIFIC);
|
||||||
CU_ASSERT(rsp.nvme_cpl.status.sc == SPDK_NVMF_FABRIC_SC_INVALID_PARAM);
|
CU_ASSERT(rsp.nvme_cpl.status.sc == SPDK_NVMF_FABRIC_SC_INVALID_PARAM);
|
||||||
@ -457,6 +461,7 @@ test_connect(void)
|
|||||||
MOCK_SET(spdk_nvmf_subsystem_get_ctrlr, &ctrlr);
|
MOCK_SET(spdk_nvmf_subsystem_get_ctrlr, &ctrlr);
|
||||||
cmd.connect_cmd.qid = 1;
|
cmd.connect_cmd.qid = 1;
|
||||||
rc = spdk_nvmf_ctrlr_connect(&req);
|
rc = spdk_nvmf_ctrlr_connect(&req);
|
||||||
|
poll_threads();
|
||||||
CU_ASSERT(rc == SPDK_NVMF_REQUEST_EXEC_STATUS_ASYNCHRONOUS);
|
CU_ASSERT(rc == SPDK_NVMF_REQUEST_EXEC_STATUS_ASYNCHRONOUS);
|
||||||
CU_ASSERT(nvme_status_success(&rsp.nvme_cpl.status));
|
CU_ASSERT(nvme_status_success(&rsp.nvme_cpl.status));
|
||||||
CU_ASSERT(qpair.ctrlr == &ctrlr);
|
CU_ASSERT(qpair.ctrlr == &ctrlr);
|
||||||
@ -466,6 +471,7 @@ test_connect(void)
|
|||||||
memset(&rsp, 0, sizeof(rsp));
|
memset(&rsp, 0, sizeof(rsp));
|
||||||
MOCK_SET(spdk_nvmf_subsystem_get_ctrlr, NULL);
|
MOCK_SET(spdk_nvmf_subsystem_get_ctrlr, NULL);
|
||||||
rc = spdk_nvmf_ctrlr_connect(&req);
|
rc = spdk_nvmf_ctrlr_connect(&req);
|
||||||
|
poll_threads();
|
||||||
CU_ASSERT(rc == SPDK_NVMF_REQUEST_EXEC_STATUS_ASYNCHRONOUS);
|
CU_ASSERT(rc == SPDK_NVMF_REQUEST_EXEC_STATUS_ASYNCHRONOUS);
|
||||||
CU_ASSERT(rsp.nvme_cpl.status.sct == SPDK_NVME_SCT_COMMAND_SPECIFIC);
|
CU_ASSERT(rsp.nvme_cpl.status.sct == SPDK_NVME_SCT_COMMAND_SPECIFIC);
|
||||||
CU_ASSERT(rsp.nvme_cpl.status.sc == SPDK_NVMF_FABRIC_SC_INVALID_PARAM);
|
CU_ASSERT(rsp.nvme_cpl.status.sc == SPDK_NVMF_FABRIC_SC_INVALID_PARAM);
|
||||||
@ -478,6 +484,7 @@ test_connect(void)
|
|||||||
memset(&rsp, 0, sizeof(rsp));
|
memset(&rsp, 0, sizeof(rsp));
|
||||||
subsystem.subtype = SPDK_NVMF_SUBTYPE_DISCOVERY;
|
subsystem.subtype = SPDK_NVMF_SUBTYPE_DISCOVERY;
|
||||||
rc = spdk_nvmf_ctrlr_connect(&req);
|
rc = spdk_nvmf_ctrlr_connect(&req);
|
||||||
|
poll_threads();
|
||||||
CU_ASSERT(rc == SPDK_NVMF_REQUEST_EXEC_STATUS_ASYNCHRONOUS);
|
CU_ASSERT(rc == SPDK_NVMF_REQUEST_EXEC_STATUS_ASYNCHRONOUS);
|
||||||
CU_ASSERT(rsp.nvme_cpl.status.sct == SPDK_NVME_SCT_COMMAND_SPECIFIC);
|
CU_ASSERT(rsp.nvme_cpl.status.sct == SPDK_NVME_SCT_COMMAND_SPECIFIC);
|
||||||
CU_ASSERT(rsp.nvme_cpl.status.sc == SPDK_NVMF_FABRIC_SC_INVALID_PARAM);
|
CU_ASSERT(rsp.nvme_cpl.status.sc == SPDK_NVMF_FABRIC_SC_INVALID_PARAM);
|
||||||
@ -490,6 +497,7 @@ test_connect(void)
|
|||||||
memset(&rsp, 0, sizeof(rsp));
|
memset(&rsp, 0, sizeof(rsp));
|
||||||
ctrlr.vcprop.cc.bits.en = 0;
|
ctrlr.vcprop.cc.bits.en = 0;
|
||||||
rc = spdk_nvmf_ctrlr_connect(&req);
|
rc = spdk_nvmf_ctrlr_connect(&req);
|
||||||
|
poll_threads();
|
||||||
CU_ASSERT(rc == SPDK_NVMF_REQUEST_EXEC_STATUS_ASYNCHRONOUS);
|
CU_ASSERT(rc == SPDK_NVMF_REQUEST_EXEC_STATUS_ASYNCHRONOUS);
|
||||||
CU_ASSERT(rsp.nvme_cpl.status.sct == SPDK_NVME_SCT_COMMAND_SPECIFIC);
|
CU_ASSERT(rsp.nvme_cpl.status.sct == SPDK_NVME_SCT_COMMAND_SPECIFIC);
|
||||||
CU_ASSERT(rsp.nvme_cpl.status.sc == SPDK_NVMF_FABRIC_SC_INVALID_PARAM);
|
CU_ASSERT(rsp.nvme_cpl.status.sc == SPDK_NVMF_FABRIC_SC_INVALID_PARAM);
|
||||||
@ -502,6 +510,7 @@ test_connect(void)
|
|||||||
memset(&rsp, 0, sizeof(rsp));
|
memset(&rsp, 0, sizeof(rsp));
|
||||||
ctrlr.vcprop.cc.bits.iosqes = 3;
|
ctrlr.vcprop.cc.bits.iosqes = 3;
|
||||||
rc = spdk_nvmf_ctrlr_connect(&req);
|
rc = spdk_nvmf_ctrlr_connect(&req);
|
||||||
|
poll_threads();
|
||||||
CU_ASSERT(rc == SPDK_NVMF_REQUEST_EXEC_STATUS_ASYNCHRONOUS);
|
CU_ASSERT(rc == SPDK_NVMF_REQUEST_EXEC_STATUS_ASYNCHRONOUS);
|
||||||
CU_ASSERT(rsp.nvme_cpl.status.sct == SPDK_NVME_SCT_COMMAND_SPECIFIC);
|
CU_ASSERT(rsp.nvme_cpl.status.sct == SPDK_NVME_SCT_COMMAND_SPECIFIC);
|
||||||
CU_ASSERT(rsp.nvme_cpl.status.sc == SPDK_NVMF_FABRIC_SC_INVALID_PARAM);
|
CU_ASSERT(rsp.nvme_cpl.status.sc == SPDK_NVMF_FABRIC_SC_INVALID_PARAM);
|
||||||
@ -514,6 +523,7 @@ test_connect(void)
|
|||||||
memset(&rsp, 0, sizeof(rsp));
|
memset(&rsp, 0, sizeof(rsp));
|
||||||
ctrlr.vcprop.cc.bits.iocqes = 3;
|
ctrlr.vcprop.cc.bits.iocqes = 3;
|
||||||
rc = spdk_nvmf_ctrlr_connect(&req);
|
rc = spdk_nvmf_ctrlr_connect(&req);
|
||||||
|
poll_threads();
|
||||||
CU_ASSERT(rc == SPDK_NVMF_REQUEST_EXEC_STATUS_ASYNCHRONOUS);
|
CU_ASSERT(rc == SPDK_NVMF_REQUEST_EXEC_STATUS_ASYNCHRONOUS);
|
||||||
CU_ASSERT(rsp.nvme_cpl.status.sct == SPDK_NVME_SCT_COMMAND_SPECIFIC);
|
CU_ASSERT(rsp.nvme_cpl.status.sct == SPDK_NVME_SCT_COMMAND_SPECIFIC);
|
||||||
CU_ASSERT(rsp.nvme_cpl.status.sc == SPDK_NVMF_FABRIC_SC_INVALID_PARAM);
|
CU_ASSERT(rsp.nvme_cpl.status.sc == SPDK_NVMF_FABRIC_SC_INVALID_PARAM);
|
||||||
@ -528,6 +538,7 @@ test_connect(void)
|
|||||||
spdk_bit_array_set(ctrlr.qpair_mask, 1);
|
spdk_bit_array_set(ctrlr.qpair_mask, 1);
|
||||||
spdk_bit_array_set(ctrlr.qpair_mask, 2);
|
spdk_bit_array_set(ctrlr.qpair_mask, 2);
|
||||||
rc = spdk_nvmf_ctrlr_connect(&req);
|
rc = spdk_nvmf_ctrlr_connect(&req);
|
||||||
|
poll_threads();
|
||||||
CU_ASSERT(rc == SPDK_NVMF_REQUEST_EXEC_STATUS_ASYNCHRONOUS);
|
CU_ASSERT(rc == SPDK_NVMF_REQUEST_EXEC_STATUS_ASYNCHRONOUS);
|
||||||
CU_ASSERT(rsp.nvme_cpl.status.sct == SPDK_NVME_SCT_COMMAND_SPECIFIC);
|
CU_ASSERT(rsp.nvme_cpl.status.sct == SPDK_NVME_SCT_COMMAND_SPECIFIC);
|
||||||
CU_ASSERT(rsp.nvme_cpl.status.sc == SPDK_NVME_SC_INVALID_QUEUE_IDENTIFIER);
|
CU_ASSERT(rsp.nvme_cpl.status.sc == SPDK_NVME_SC_INVALID_QUEUE_IDENTIFIER);
|
||||||
@ -544,6 +555,7 @@ test_connect(void)
|
|||||||
spdk_bit_array_set(ctrlr.qpair_mask, 1);
|
spdk_bit_array_set(ctrlr.qpair_mask, 1);
|
||||||
cmd.connect_cmd.qid = 1;
|
cmd.connect_cmd.qid = 1;
|
||||||
rc = spdk_nvmf_ctrlr_connect(&req);
|
rc = spdk_nvmf_ctrlr_connect(&req);
|
||||||
|
poll_threads();
|
||||||
CU_ASSERT(rc == SPDK_NVMF_REQUEST_EXEC_STATUS_ASYNCHRONOUS);
|
CU_ASSERT(rc == SPDK_NVMF_REQUEST_EXEC_STATUS_ASYNCHRONOUS);
|
||||||
CU_ASSERT(rsp.nvme_cpl.status.sct == SPDK_NVME_SCT_COMMAND_SPECIFIC);
|
CU_ASSERT(rsp.nvme_cpl.status.sct == SPDK_NVME_SCT_COMMAND_SPECIFIC);
|
||||||
CU_ASSERT(rsp.nvme_cpl.status.sc == SPDK_NVME_SC_INVALID_QUEUE_IDENTIFIER);
|
CU_ASSERT(rsp.nvme_cpl.status.sc == SPDK_NVME_SC_INVALID_QUEUE_IDENTIFIER);
|
||||||
@ -766,7 +778,6 @@ test_identify_ns(void)
|
|||||||
|
|
||||||
int main(int argc, char **argv)
|
int main(int argc, char **argv)
|
||||||
{
|
{
|
||||||
struct spdk_thread *thread;
|
|
||||||
CU_pSuite suite = NULL;
|
CU_pSuite suite = NULL;
|
||||||
unsigned int num_failures;
|
unsigned int num_failures;
|
||||||
|
|
||||||
@ -791,15 +802,15 @@ int main(int argc, char **argv)
|
|||||||
return CU_get_error();
|
return CU_get_error();
|
||||||
}
|
}
|
||||||
|
|
||||||
thread = spdk_allocate_thread(ctrlr_ut_pass_msg, NULL, NULL, NULL, "ctrlr_ut");
|
allocate_threads(1);
|
||||||
spdk_set_thread(thread);
|
set_thread(0);
|
||||||
|
|
||||||
CU_basic_set_mode(CU_BRM_VERBOSE);
|
CU_basic_set_mode(CU_BRM_VERBOSE);
|
||||||
CU_basic_run_tests();
|
CU_basic_run_tests();
|
||||||
num_failures = CU_get_number_of_failures();
|
num_failures = CU_get_number_of_failures();
|
||||||
CU_cleanup_registry();
|
CU_cleanup_registry();
|
||||||
|
|
||||||
spdk_free_thread();
|
free_threads();
|
||||||
|
|
||||||
return num_failures;
|
return num_failures;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user