unittest/nvme_tcp: increase code coverage for nvme_tcp_parse_addr
nvme_tcp_parse_addr code comprehensive coverage. res->ai_addrlen is returned by getaddrinfo(), and it is an IPV4 or IPV6 address, so its maximum length is not more than 46. And sizeof(*sa) is always 128,so ai_addrlen cannot be greater than sizeof(*sa). Signed-off-by: ChengqiangMeng <chengqiangx.meng@intel.com> Change-Id: Id432a39c1461c484ea871e7e9d8d3ed7a8391200 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/6512 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Changpeng Liu <changpeng.liu@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com> Community-CI: Mellanox Build Bot
This commit is contained in:
parent
6a34348219
commit
6de10dfc01
@ -873,6 +873,23 @@ test_nvme_tcp_alloc_reqs(void)
|
||||
CU_ASSERT(tqpair.send_pdus == NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
test_nvme_tcp_parse_addr(void)
|
||||
{
|
||||
struct sockaddr_storage dst_addr;
|
||||
int rc = 0;
|
||||
|
||||
memset(&dst_addr, 0, sizeof(dst_addr));
|
||||
/* case1: getaddrinfo failed */
|
||||
rc = nvme_tcp_parse_addr(&dst_addr, AF_INET, NULL, NULL);
|
||||
CU_ASSERT(rc != 0);
|
||||
|
||||
/* case2: res->ai_addrlen < sizeof(*sa). Expect: Pass. */
|
||||
rc = nvme_tcp_parse_addr(&dst_addr, AF_INET, "12.34.56.78", "23");
|
||||
CU_ASSERT(rc == 0);
|
||||
CU_ASSERT(dst_addr.ss_family == AF_INET);
|
||||
}
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
CU_pSuite suite = NULL;
|
||||
@ -894,6 +911,7 @@ int main(int argc, char **argv)
|
||||
CU_ADD_TEST(suite, test_nvme_tcp_qpair_write_pdu);
|
||||
CU_ADD_TEST(suite, test_nvme_tcp_qpair_set_recv_state);
|
||||
CU_ADD_TEST(suite, test_nvme_tcp_alloc_reqs);
|
||||
CU_ADD_TEST(suite, test_nvme_tcp_parse_addr);
|
||||
|
||||
CU_basic_set_mode(CU_BRM_VERBOSE);
|
||||
CU_basic_run_tests();
|
||||
|
Loading…
x
Reference in New Issue
Block a user