Commit e6aed2d9 authored by Jukka Rissanen's avatar Jukka Rissanen Committed by Henrik Brix Andersen
Browse files

tests: net: sockets: mgmt: Add tests for too long message

Add test that checks we get proper return code if trying
to copy too much data.

Signed-off-by: default avatarJukka Rissanen <jukka.rissanen@nordicsemi.no>
(cherry picked from commit 5c6dca3c)
parent e720b03c
Loading
Loading
Loading
Loading
+28 −0
Changes for tests/net/socket/net_mgmt/src/main.c: 28 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -457,6 +457,34 @@ ZTEST_USER(net_socket_net_mgmt, test_net_mgmt_catch_user)
	test_net_mgmt_catch_events();
}

static void test_net_mgmt_catch_events_failure(void)
{
#define SMALL_BUF_LEN 16
	struct sockaddr_nm event_addr;
	socklen_t event_addr_len;
	uint8_t buf[SMALL_BUF_LEN];
	int ret;

	memset(buf, 0, sizeof(buf));
	event_addr_len = sizeof(event_addr);

	ret = recvfrom(fd, buf, sizeof(buf), 0,
		       (struct sockaddr *)&event_addr,
		       &event_addr_len);
	zassert_equal(ret, -1, "Msg check failed, %d", errno);
	zassert_equal(errno, EMSGSIZE, "Msg check failed, errno %d", errno);
}

ZTEST(net_socket_net_mgmt, test_net_mgmt_catch_failure_kernel)
{
	test_net_mgmt_catch_events_failure();
}

ZTEST_USER(net_socket_net_mgmt, test_net_mgmt_catch_failure_user)
{
	test_net_mgmt_catch_events_failure();
}

ZTEST(net_socket_net_mgmt, test_net_mgmt_cleanup)
{
	k_thread_abort(trigger_events_thread_id);