From 1d81cbc955d349e72f4184fdc495186a2e3dc694 Mon Sep 17 00:00:00 2001 From: Daniel Verkamp Date: Thu, 21 Jul 2016 15:08:23 -0700 Subject: [PATCH] test/nvmf: stub out per-file unit tests Change-Id: I9606b82dbfaa6c84d8dafc07fb76a113e3436083 Signed-off-by: Daniel Verkamp --- test/lib/Makefile | 3 +- test/lib/nvmf/Makefile | 2 +- test/lib/nvmf/nvmf.sh | 9 +- test/lib/nvmf/request/.gitignore | 1 + test/lib/nvmf/request/Makefile | 56 ++++++++++ test/lib/nvmf/request/request_ut.c | 149 +++++++++++++++++++++++++ test/lib/nvmf/session/.gitignore | 1 + test/lib/nvmf/session/Makefile | 56 ++++++++++ test/lib/nvmf/session/session_ut.c | 90 +++++++++++++++ test/lib/nvmf/subsystem/.gitignore | 1 + test/lib/nvmf/subsystem/Makefile | 56 ++++++++++ test/lib/nvmf/subsystem/subsystem_ut.c | 116 +++++++++++++++++++ unittest.sh | 6 + 13 files changed, 537 insertions(+), 9 deletions(-) create mode 100644 test/lib/nvmf/request/.gitignore create mode 100644 test/lib/nvmf/request/Makefile create mode 100644 test/lib/nvmf/request/request_ut.c create mode 100644 test/lib/nvmf/session/.gitignore create mode 100644 test/lib/nvmf/session/Makefile create mode 100644 test/lib/nvmf/session/session_ut.c create mode 100644 test/lib/nvmf/subsystem/.gitignore create mode 100644 test/lib/nvmf/subsystem/Makefile create mode 100644 test/lib/nvmf/subsystem/subsystem_ut.c diff --git a/test/lib/Makefile b/test/lib/Makefile index a8994b3fd..a56b5d069 100644 --- a/test/lib/Makefile +++ b/test/lib/Makefile @@ -34,8 +34,7 @@ SPDK_ROOT_DIR := $(abspath $(CURDIR)/../..) include $(SPDK_ROOT_DIR)/mk/spdk.common.mk -DIRS-y = bdev event log json jsonrpc nvme memory ioat -DIRS-$(CONFIG_RDMA) += nvmf +DIRS-y = bdev event log json jsonrpc nvme nvmf memory ioat .PHONY: all clean $(DIRS-y) diff --git a/test/lib/nvmf/Makefile b/test/lib/nvmf/Makefile index 25e5429f1..09244d413 100644 --- a/test/lib/nvmf/Makefile +++ b/test/lib/nvmf/Makefile @@ -34,7 +34,7 @@ SPDK_ROOT_DIR := $(abspath $(CURDIR)/../../..) include $(SPDK_ROOT_DIR)/mk/spdk.common.mk -DIRS-y = +DIRS-y = request session subsystem .PHONY: all clean $(DIRS-y) diff --git a/test/lib/nvmf/nvmf.sh b/test/lib/nvmf/nvmf.sh index cd8175fe2..787530810 100755 --- a/test/lib/nvmf/nvmf.sh +++ b/test/lib/nvmf/nvmf.sh @@ -6,15 +6,12 @@ testdir=$(readlink -f $(dirname $0)) rootdir=$testdir/../../.. source $rootdir/scripts/autotest_common.sh -# TODO: unit tests should not depend on library being enabled -if [ ! -f $testdir/nvmf_c/nvmf_ut ]; then - exit 0 -fi - timing_enter nvmf timing_enter unit -$testdir/nvmf_c/nvmf_ut +$testdir/request/request_ut +$testdir/session/session_ut +$testdir/subsystem/subsystem_ut timing_exit unit timing_exit nvmf diff --git a/test/lib/nvmf/request/.gitignore b/test/lib/nvmf/request/.gitignore new file mode 100644 index 000000000..7f06e410f --- /dev/null +++ b/test/lib/nvmf/request/.gitignore @@ -0,0 +1 @@ +request_ut diff --git a/test/lib/nvmf/request/Makefile b/test/lib/nvmf/request/Makefile new file mode 100644 index 000000000..ad49ce78d --- /dev/null +++ b/test/lib/nvmf/request/Makefile @@ -0,0 +1,56 @@ +# +# BSD LICENSE +# +# Copyright (c) Intel Corporation. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# * Neither the name of Intel Corporation nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# + +SPDK_ROOT_DIR := $(abspath $(CURDIR)/../../../..) +include $(SPDK_ROOT_DIR)/mk/spdk.common.mk + +CFLAGS += -I$(SPDK_ROOT_DIR)/lib/nvmf +CFLAGS += -I$(SPDK_ROOT_DIR)/test + +SPDK_LIBS += $(SPDK_ROOT_DIR)/lib/log/libspdk_log.a + +LIBS += $(SPDK_LIBS) +LIBS += -lcunit + +APP = request_ut +C_SRCS = request_ut.c + +all: $(APP) + +$(APP): $(OBJS) $(SPDK_LIBS) + $(LINK_C) + +clean: + $(CLEAN_C) $(APP) + +include $(SPDK_ROOT_DIR)/mk/spdk.deps.mk diff --git a/test/lib/nvmf/request/request_ut.c b/test/lib/nvmf/request/request_ut.c new file mode 100644 index 000000000..3edac6148 --- /dev/null +++ b/test/lib/nvmf/request/request_ut.c @@ -0,0 +1,149 @@ +/*- + * BSD LICENSE + * + * Copyright (c) Intel Corporation. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Intel Corporation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include +#include +#include +#include + +#include "spdk_cunit.h" + +#include "request.c" + +SPDK_LOG_REGISTER_TRACE_FLAG("nvmf", SPDK_TRACE_NVMF) + +void spdk_trace_record(uint16_t tpoint_id, uint16_t poller_id, uint32_t size, + uint64_t object_id, uint64_t arg1) +{ +} + +spdk_event_t +spdk_event_allocate(uint32_t lcore, spdk_event_fn fn, void *arg1, void *arg2, spdk_event_t next) +{ + return NULL; +} + +void +spdk_event_call(spdk_event_t event) +{ +} + +void +spdk_nvmf_session_connect(struct spdk_nvmf_conn *conn, + struct spdk_nvmf_fabric_connect_cmd *cmd, + struct spdk_nvmf_fabric_connect_data *data, + struct spdk_nvmf_fabric_connect_rsp *rsp) +{ +} + +int +spdk_nvme_ctrlr_cmd_admin_raw(struct spdk_nvme_ctrlr *ctrlr, + struct spdk_nvme_cmd *cmd, + void *buf, uint32_t len, + spdk_nvme_cmd_cb cb_fn, void *cb_arg) +{ + return -1; +} + +int +spdk_nvme_ctrlr_cmd_io_raw(struct spdk_nvme_ctrlr *ctrlr, + struct spdk_nvme_qpair *qpair, + struct spdk_nvme_cmd *cmd, + void *buf, uint32_t len, + spdk_nvme_cmd_cb cb_fn, void *cb_arg) +{ + return -1; +} + +void +nvmf_disconnect(struct nvmf_session *session, struct spdk_nvmf_conn *conn) +{ +} + +void +nvmf_property_get(struct nvmf_session *session, + struct spdk_nvmf_fabric_prop_get_cmd *cmd, + struct spdk_nvmf_fabric_prop_get_rsp *response) +{ +} + +void +nvmf_property_set(struct nvmf_session *session, + struct spdk_nvmf_fabric_prop_set_cmd *cmd, + struct spdk_nvme_cpl *rsp) +{ +} + +void +spdk_format_discovery_log(struct spdk_nvmf_discovery_log_page *disc_log, uint32_t length) +{ +} + +struct spdk_nvmf_subsystem * +nvmf_find_subsystem(const char *subnqn, const char *hostnqn) +{ + return NULL; +} + +static void +test_foobar(void) +{ +} + +int main(int argc, char **argv) +{ + CU_pSuite suite = NULL; + unsigned int num_failures; + + if (CU_initialize_registry() != CUE_SUCCESS) { + return CU_get_error(); + } + + suite = CU_add_suite("nvmf", NULL, NULL); + if (suite == NULL) { + CU_cleanup_registry(); + return CU_get_error(); + } + + if ( + CU_add_test(suite, "foobar", test_foobar) == NULL) { + CU_cleanup_registry(); + return CU_get_error(); + } + + CU_basic_set_mode(CU_BRM_VERBOSE); + CU_basic_run_tests(); + num_failures = CU_get_number_of_failures(); + CU_cleanup_registry(); + return num_failures; +} diff --git a/test/lib/nvmf/session/.gitignore b/test/lib/nvmf/session/.gitignore new file mode 100644 index 000000000..a87edc68c --- /dev/null +++ b/test/lib/nvmf/session/.gitignore @@ -0,0 +1 @@ +session_ut diff --git a/test/lib/nvmf/session/Makefile b/test/lib/nvmf/session/Makefile new file mode 100644 index 000000000..c6e8d5edd --- /dev/null +++ b/test/lib/nvmf/session/Makefile @@ -0,0 +1,56 @@ +# +# BSD LICENSE +# +# Copyright (c) Intel Corporation. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# * Neither the name of Intel Corporation nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# + +SPDK_ROOT_DIR := $(abspath $(CURDIR)/../../../..) +include $(SPDK_ROOT_DIR)/mk/spdk.common.mk + +CFLAGS += -I$(SPDK_ROOT_DIR)/lib/nvmf +CFLAGS += -I$(SPDK_ROOT_DIR)/test + +SPDK_LIBS += $(SPDK_ROOT_DIR)/lib/log/libspdk_log.a + +LIBS += $(SPDK_LIBS) +LIBS += -lcunit + +APP = session_ut +C_SRCS = session_ut.c + +all: $(APP) + +$(APP): $(OBJS) $(SPDK_LIBS) + $(LINK_C) + +clean: + $(CLEAN_C) $(APP) + +include $(SPDK_ROOT_DIR)/mk/spdk.deps.mk diff --git a/test/lib/nvmf/session/session_ut.c b/test/lib/nvmf/session/session_ut.c new file mode 100644 index 000000000..956b5a441 --- /dev/null +++ b/test/lib/nvmf/session/session_ut.c @@ -0,0 +1,90 @@ +/*- + * BSD LICENSE + * + * Copyright (c) Intel Corporation. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Intel Corporation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include +#include +#include +#include + +#include "spdk_cunit.h" + +#include "session.c" + +SPDK_LOG_REGISTER_TRACE_FLAG("nvmf", SPDK_TRACE_NVMF) + +struct spdk_nvmf_globals g_nvmf_tgt; + +struct spdk_nvmf_subsystem * +nvmf_find_subsystem(const char *subnqn, const char *hostnqn) +{ + return NULL; +} + +const struct spdk_nvme_ctrlr_data * +spdk_nvme_ctrlr_get_data(struct spdk_nvme_ctrlr *ctrlr) +{ + return NULL; +} + +static void +test_foobar(void) +{ +} + +int main(int argc, char **argv) +{ + CU_pSuite suite = NULL; + unsigned int num_failures; + + if (CU_initialize_registry() != CUE_SUCCESS) { + return CU_get_error(); + } + + suite = CU_add_suite("nvmf", NULL, NULL); + if (suite == NULL) { + CU_cleanup_registry(); + return CU_get_error(); + } + + if ( + CU_add_test(suite, "foobar", test_foobar) == NULL) { + CU_cleanup_registry(); + return CU_get_error(); + } + + CU_basic_set_mode(CU_BRM_VERBOSE); + CU_basic_run_tests(); + num_failures = CU_get_number_of_failures(); + CU_cleanup_registry(); + return num_failures; +} diff --git a/test/lib/nvmf/subsystem/.gitignore b/test/lib/nvmf/subsystem/.gitignore new file mode 100644 index 000000000..76ca0d330 --- /dev/null +++ b/test/lib/nvmf/subsystem/.gitignore @@ -0,0 +1 @@ +subsystem_ut diff --git a/test/lib/nvmf/subsystem/Makefile b/test/lib/nvmf/subsystem/Makefile new file mode 100644 index 000000000..c2a1eed07 --- /dev/null +++ b/test/lib/nvmf/subsystem/Makefile @@ -0,0 +1,56 @@ +# +# BSD LICENSE +# +# Copyright (c) Intel Corporation. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# * Neither the name of Intel Corporation nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# + +SPDK_ROOT_DIR := $(abspath $(CURDIR)/../../../..) +include $(SPDK_ROOT_DIR)/mk/spdk.common.mk + +CFLAGS += -I$(SPDK_ROOT_DIR)/lib/nvmf +CFLAGS += -I$(SPDK_ROOT_DIR)/test + +SPDK_LIBS += $(SPDK_ROOT_DIR)/lib/log/libspdk_log.a + +LIBS += $(SPDK_LIBS) +LIBS += -lcunit + +APP = subsystem_ut +C_SRCS = subsystem_ut.c + +all: $(APP) + +$(APP): $(OBJS) $(SPDK_LIBS) + $(LINK_C) + +clean: + $(CLEAN_C) $(APP) + +include $(SPDK_ROOT_DIR)/mk/spdk.deps.mk diff --git a/test/lib/nvmf/subsystem/subsystem_ut.c b/test/lib/nvmf/subsystem/subsystem_ut.c new file mode 100644 index 000000000..4ad430447 --- /dev/null +++ b/test/lib/nvmf/subsystem/subsystem_ut.c @@ -0,0 +1,116 @@ +/*- + * BSD LICENSE + * + * Copyright (c) Intel Corporation. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Intel Corporation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include +#include +#include +#include + +#include "spdk_cunit.h" + +#include "subsystem.c" + +SPDK_LOG_REGISTER_TRACE_FLAG("nvmf", SPDK_TRACE_NVMF) + +void +spdk_poller_register(struct spdk_poller *poller, uint32_t lcore, struct spdk_event *complete) +{ +} + +int32_t +spdk_nvme_ctrlr_process_admin_completions(struct spdk_nvme_ctrlr *ctrlr) +{ + return -1; +} + +int32_t +spdk_nvme_qpair_process_completions(struct spdk_nvme_qpair *qpair, uint32_t max_completions) +{ + return -1; +} + +struct spdk_nvme_qpair * +spdk_nvme_ctrlr_alloc_io_qpair(struct spdk_nvme_ctrlr *ctrlr, enum spdk_nvme_qprio qprio) +{ + return NULL; +} + +int +spdk_nvme_detach(struct spdk_nvme_ctrlr *ctrlr) +{ + return -1; +} + +void +spdk_nvmf_session_destruct(struct nvmf_session *session) +{ +} + +int +spdk_nvmf_session_poll(struct nvmf_session *session) +{ + return -1; +} + +static void +test_foobar(void) +{ +} + +int main(int argc, char **argv) +{ + CU_pSuite suite = NULL; + unsigned int num_failures; + + if (CU_initialize_registry() != CUE_SUCCESS) { + return CU_get_error(); + } + + suite = CU_add_suite("nvmf", NULL, NULL); + if (suite == NULL) { + CU_cleanup_registry(); + return CU_get_error(); + } + + if ( + CU_add_test(suite, "foobar", test_foobar) == NULL) { + CU_cleanup_registry(); + return CU_get_error(); + } + + CU_basic_set_mode(CU_BRM_VERBOSE); + CU_basic_run_tests(); + num_failures = CU_get_number_of_failures(); + CU_cleanup_registry(); + return num_failures; +} diff --git a/unittest.sh b/unittest.sh index e971d583e..5b202c741 100755 --- a/unittest.sh +++ b/unittest.sh @@ -31,3 +31,9 @@ test/lib/jsonrpc/server/jsonrpc_server_ut make -C test/lib/log CONFIG_WERROR=y test/lib/log/log_ut + +make -C test/lib/nvmf CONFIG_WERROR=y + +test/lib/nvmf/request/request_ut +test/lib/nvmf/session/session_ut +test/lib/nvmf/subsystem/subsystem_ut