ut/scsi: Use STUB in SCSI unit tests

Change-Id: I74f2de3310341504850bd9034baefce6126f540f
Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-on: https://review.gerrithub.io/436645
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Chandler-Test-Pool: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
This commit is contained in:
Shuhei Matsumoto 2018-12-10 09:10:56 +09:00 committed by Jim Harris
parent 943561fae1
commit 760c8def9c
3 changed files with 53 additions and 111 deletions

View File

@ -41,6 +41,8 @@
#include "scsi/dev.c" #include "scsi/dev.c"
#include "scsi/port.c" #include "scsi/port.c"
#include "spdk_internal/mock.h"
/* Unit test bdev mockup */ /* Unit test bdev mockup */
struct spdk_bdev { struct spdk_bdev {
char name[100]; char name[100];
@ -111,48 +113,26 @@ spdk_bdev_get_by_name(const char *bdev_name)
return NULL; return NULL;
} }
void DEFINE_STUB_V(spdk_scsi_lun_append_mgmt_task,
spdk_scsi_lun_append_mgmt_task(struct spdk_scsi_lun *lun, struct spdk_scsi_task *task) (struct spdk_scsi_lun *lun, struct spdk_scsi_task *task));
{
}
void DEFINE_STUB_V(spdk_scsi_lun_execute_mgmt_task, (struct spdk_scsi_lun *lun));
spdk_scsi_lun_execute_mgmt_task(struct spdk_scsi_lun *lun)
{
}
bool DEFINE_STUB(spdk_scsi_lun_has_pending_mgmt_tasks, bool,
spdk_scsi_lun_has_pending_mgmt_tasks(const struct spdk_scsi_lun *lun) (const struct spdk_scsi_lun *lun), false);
{
return false;
}
void DEFINE_STUB_V(spdk_scsi_lun_append_task,
spdk_scsi_lun_append_task(struct spdk_scsi_lun *lun, struct spdk_scsi_task *task) (struct spdk_scsi_lun *lun, struct spdk_scsi_task *task));
{
}
void DEFINE_STUB_V(spdk_scsi_lun_execute_tasks, (struct spdk_scsi_lun *lun));
spdk_scsi_lun_execute_tasks(struct spdk_scsi_lun *lun)
{
}
int DEFINE_STUB(_spdk_scsi_lun_allocate_io_channel, int,
_spdk_scsi_lun_allocate_io_channel(struct spdk_scsi_lun *lun) (struct spdk_scsi_lun *lun), 0);
{
return 0;
}
void DEFINE_STUB_V(_spdk_scsi_lun_free_io_channel, (struct spdk_scsi_lun *lun));
_spdk_scsi_lun_free_io_channel(struct spdk_scsi_lun *lun)
{
}
bool DEFINE_STUB(spdk_scsi_lun_has_pending_tasks, bool,
spdk_scsi_lun_has_pending_tasks(const struct spdk_scsi_lun *lun) (const struct spdk_scsi_lun *lun), false);
{
return false;
}
static void static void
dev_destruct_null_dev(void) dev_destruct_null_dev(void)

View File

@ -75,26 +75,18 @@ spdk_poller_unregister(struct spdk_poller **ppoller)
} }
} }
void DEFINE_STUB_V(spdk_thread_send_msg,
spdk_thread_send_msg(const struct spdk_thread *thread, spdk_thread_fn fn, void *ctx) (const struct spdk_thread *thread, spdk_thread_fn fn, void *ctx));
{
}
struct spdk_trace_histories *g_trace_histories; struct spdk_trace_histories *g_trace_histories;
void _spdk_trace_record(uint64_t tsc, uint16_t tpoint_id, uint16_t poller_id,
uint32_t size, uint64_t object_id, uint64_t arg1)
{
}
uint64_t spdk_get_ticks(void) DEFINE_STUB_V(_spdk_trace_record,
{ (uint64_t tsc, uint16_t tpoint_id, uint16_t poller_id,
return 0; uint32_t size, uint64_t object_id, uint64_t arg1));
}
uint64_t spdk_get_ticks_hz(void) DEFINE_STUB(spdk_get_ticks, uint64_t, (void), 0);
{
return 0; DEFINE_STUB(spdk_get_ticks_hz, uint64_t, (void), 0);
}
static void static void
spdk_lun_ut_cpl_task(struct spdk_scsi_task *task) spdk_lun_ut_cpl_task(struct spdk_scsi_task *task)
@ -149,34 +141,21 @@ spdk_bdev_free_io(struct spdk_bdev_io *bdev_io)
CU_ASSERT(0); CU_ASSERT(0);
} }
int DEFINE_STUB(spdk_bdev_open, int,
spdk_bdev_open(struct spdk_bdev *bdev, bool write, spdk_bdev_remove_cb_t remove_cb, (struct spdk_bdev *bdev, bool write, spdk_bdev_remove_cb_t remove_cb,
void *remove_ctx, struct spdk_bdev_desc **desc) void *remove_ctx, struct spdk_bdev_desc **desc),
{ 0);
return 0;
}
void DEFINE_STUB_V(spdk_bdev_close, (struct spdk_bdev_desc *desc));
spdk_bdev_close(struct spdk_bdev_desc *desc)
{
}
const char * DEFINE_STUB(spdk_bdev_get_name, const char *,
spdk_bdev_get_name(const struct spdk_bdev *bdev) (const struct spdk_bdev *bdev), "test");
{
return "test";
}
void spdk_scsi_dev_queue_mgmt_task(struct spdk_scsi_dev *dev, DEFINE_STUB_V(spdk_scsi_dev_queue_mgmt_task,
struct spdk_scsi_task *task) (struct spdk_scsi_dev *dev, struct spdk_scsi_task *task));
{
}
void spdk_scsi_dev_delete_lun(struct spdk_scsi_dev *dev, DEFINE_STUB_V(spdk_scsi_dev_delete_lun,
struct spdk_scsi_lun *lun) (struct spdk_scsi_dev *dev, struct spdk_scsi_lun *lun));
{
return;
}
void void
spdk_bdev_scsi_reset(struct spdk_scsi_task *task) spdk_bdev_scsi_reset(struct spdk_scsi_task *task)
@ -205,19 +184,15 @@ spdk_bdev_scsi_execute(struct spdk_scsi_task *task)
} }
} }
struct spdk_io_channel * DEFINE_STUB(spdk_bdev_get_io_channel, struct spdk_io_channel *,
spdk_bdev_get_io_channel(struct spdk_bdev_desc *desc) (struct spdk_bdev_desc *desc), NULL);
{
return NULL;
}
void DEFINE_STUB_V(spdk_put_io_channel, (struct spdk_io_channel *ch));
spdk_put_io_channel(struct spdk_io_channel *ch)
{
}
DEFINE_STUB(spdk_io_channel_get_thread, struct spdk_thread *, (struct spdk_io_channel *ch), NULL) DEFINE_STUB(spdk_io_channel_get_thread, struct spdk_thread *,
DEFINE_STUB(spdk_get_thread, struct spdk_thread *, (void), NULL) (struct spdk_io_channel *ch), NULL);
DEFINE_STUB(spdk_get_thread, struct spdk_thread *, (void), NULL);
static _spdk_scsi_lun * static _spdk_scsi_lun *
lun_construct(void) lun_construct(void)

View File

@ -38,6 +38,8 @@
#include "spdk_cunit.h" #include "spdk_cunit.h"
#include "spdk_internal/mock.h"
SPDK_LOG_REGISTER_COMPONENT("scsi", SPDK_LOG_SCSI) SPDK_LOG_REGISTER_COMPONENT("scsi", SPDK_LOG_SCSI)
struct spdk_scsi_globals g_spdk_scsi; struct spdk_scsi_globals g_spdk_scsi;
@ -91,17 +93,11 @@ spdk_bdev_free_io(struct spdk_bdev_io *bdev_io)
CU_ASSERT(0); CU_ASSERT(0);
} }
const char * DEFINE_STUB(spdk_bdev_get_name, const char *,
spdk_bdev_get_name(const struct spdk_bdev *bdev) (const struct spdk_bdev *bdev), "test");
{
return "test";
}
uint32_t DEFINE_STUB(spdk_bdev_get_block_size, uint32_t,
spdk_bdev_get_block_size(const struct spdk_bdev *bdev) (const struct spdk_bdev *bdev), 512);
{
return 512;
}
uint64_t uint64_t
spdk_bdev_get_num_blocks(const struct spdk_bdev *bdev) spdk_bdev_get_num_blocks(const struct spdk_bdev *bdev)
@ -109,17 +105,11 @@ spdk_bdev_get_num_blocks(const struct spdk_bdev *bdev)
return g_test_bdev_num_blocks; return g_test_bdev_num_blocks;
} }
const char * DEFINE_STUB(spdk_bdev_get_product_name, const char *,
spdk_bdev_get_product_name(const struct spdk_bdev *bdev) (const struct spdk_bdev *bdev), "test product");
{
return "test product";
}
bool DEFINE_STUB(spdk_bdev_has_write_cache, bool,
spdk_bdev_has_write_cache(const struct spdk_bdev *bdev) (const struct spdk_bdev *bdev), false);
{
return false;
}
void void
spdk_scsi_lun_complete_task(struct spdk_scsi_lun *lun, struct spdk_scsi_task *task) spdk_scsi_lun_complete_task(struct spdk_scsi_lun *lun, struct spdk_scsi_task *task)
@ -127,10 +117,8 @@ spdk_scsi_lun_complete_task(struct spdk_scsi_lun *lun, struct spdk_scsi_task *ta
g_scsi_cb_called++; g_scsi_cb_called++;
} }
void DEFINE_STUB_V(spdk_scsi_lun_complete_reset_task,
spdk_scsi_lun_complete_reset_task(struct spdk_scsi_lun *lun, struct spdk_scsi_task *task) (struct spdk_scsi_lun *lun, struct spdk_scsi_task *task));
{
}
static void static void
ut_put_task(struct spdk_scsi_task *task) ut_put_task(struct spdk_scsi_task *task)
@ -145,7 +133,6 @@ ut_put_task(struct spdk_scsi_task *task)
SPDK_CU_ASSERT_FATAL(TAILQ_EMPTY(&g_bdev_io_queue)); SPDK_CU_ASSERT_FATAL(TAILQ_EMPTY(&g_bdev_io_queue));
} }
static void static void
ut_init_task(struct spdk_scsi_task *task) ut_init_task(struct spdk_scsi_task *task)
{ {