From ca0eeaab2171b446e0fcae8c727287209b5fe3b1 Mon Sep 17 00:00:00 2001 From: Maciej Szwed Date: Tue, 31 Dec 2019 09:42:47 +0100 Subject: [PATCH] unit/bdev: Unit tests for spdk_bdev_comparev_blocks. These are unit tests for non emulated version of spdk_bdev_comparev_blocks function. Signed-off-by: Maciej Szwed Change-Id: I459ac614e1a03e42b9d584aaa907a1448a13d16e Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/478969 Community-CI: Broadcom SPDK FC-NVMe CI Tested-by: SPDK CI Jenkins Reviewed-by: Shuhei Matsumoto Reviewed-by: Jim Harris --- test/unit/lib/bdev/bdev.c/bdev_ut.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/test/unit/lib/bdev/bdev.c/bdev_ut.c b/test/unit/lib/bdev/bdev.c/bdev_ut.c index 74ea2c72d..826d3757e 100644 --- a/test/unit/lib/bdev/bdev.c/bdev_ut.c +++ b/test/unit/lib/bdev/bdev.c/bdev_ut.c @@ -170,6 +170,16 @@ stub_submit_request(struct spdk_io_channel *_ch, struct spdk_bdev_io *bdev_io) memcpy(g_compare_write_buf, bdev_io->u.bdev.iovs[0].iov_base, len); } + if (g_compare_read_buf && bdev_io->type == SPDK_BDEV_IO_TYPE_COMPARE) { + uint32_t len = bdev_io->u.bdev.iovs[0].iov_len; + + CU_ASSERT(bdev_io->u.bdev.iovcnt == 1); + CU_ASSERT(g_compare_read_buf_len == len); + if (memcmp(bdev_io->u.bdev.iovs[0].iov_base, g_compare_read_buf, len)) { + g_io_exp_status = SPDK_BDEV_IO_STATUS_MISCOMPARE; + } + } + TAILQ_INSERT_TAIL(&ch->outstanding_io, bdev_io, module_link); ch->outstanding_io_count++; @@ -2277,6 +2287,7 @@ static void bdev_compare(void) { _bdev_compare(true); + _bdev_compare(false); } static void