diff --git a/tests/net/socket/udp/prj.conf b/tests/net/socket/udp/prj.conf index 81360e865d7..cc36a1b471a 100644 --- a/tests/net/socket/udp/prj.conf +++ b/tests/net/socket/udp/prj.conf @@ -21,3 +21,4 @@ CONFIG_NET_CONFIG_MY_IPV6_ADDR="2001:db8::1" CONFIG_MAIN_STACK_SIZE=2048 CONFIG_ZTEST=y +CONFIG_NET_CONTEXT_PRIORITY=y diff --git a/tests/net/socket/udp/src/main.c b/tests/net/socket/udp/src/main.c index c0b289dd8f6..36ef58ab1e9 100644 --- a/tests/net/socket/udp/src/main.c +++ b/tests/net/socket/udp/src/main.c @@ -301,6 +301,40 @@ void test_send_recv_2_sock(void) zassert_equal(rv, 0, "close failed"); } +void test_so_priority(void) +{ + struct sockaddr_in bind_addr4; + struct sockaddr_in6 bind_addr6; + int sock1, sock2, rv; + u8_t optval; + + prepare_sock_udp_v4(CONFIG_NET_CONFIG_MY_IPV4_ADDR, 55555, + &sock1, &bind_addr4); + prepare_sock_udp_v6(CONFIG_NET_CONFIG_MY_IPV6_ADDR, 55555, + &sock2, &bind_addr6); + + rv = bind(sock1, (struct sockaddr *)&bind_addr4, sizeof(bind_addr4)); + zassert_equal(rv, 0, "bind failed"); + + rv = bind(sock2, (struct sockaddr *)&bind_addr6, sizeof(bind_addr6)); + zassert_equal(rv, 0, "bind failed"); + + optval = 2; + rv = setsockopt(sock1, SOL_SOCKET, SO_PRIORITY, &optval, + sizeof(optval)); + zassert_equal(rv, 0, "setsockopt failed (%d)", errno); + + optval = 8; + rv = setsockopt(sock2, SOL_SOCKET, SO_PRIORITY, &optval, + sizeof(optval)); + zassert_equal(rv, 0, "setsockopt failed"); + + rv = close(sock1); + zassert_equal(rv, 0, "close failed"); + rv = close(sock2); + zassert_equal(rv, 0, "close failed"); +} + void test_main(void) { ztest_test_suite(socket_udp, @@ -308,7 +342,9 @@ void test_main(void) ztest_unit_test(test_v4_sendto_recvfrom), ztest_unit_test(test_v6_sendto_recvfrom), ztest_unit_test(test_v4_bind_sendto), - ztest_unit_test(test_v6_bind_sendto)); + ztest_unit_test(test_v6_bind_sendto), + ztest_unit_test(test_so_priority) + ); ztest_run_test_suite(socket_udp); } diff --git a/tests/net/socket/udp/testcase.yaml b/tests/net/socket/udp/testcase.yaml index bf12ad21bd3..12618d81179 100644 --- a/tests/net/socket/udp/testcase.yaml +++ b/tests/net/socket/udp/testcase.yaml @@ -1,10 +1,9 @@ common: depends_on: netif - platform_whitelist: native_posix qemu_x86 qemu_cortex_m3 + tags: net socket udp tests: net.socket.udp: extra_configs: - CONFIG_NET_TEST=y - CONFIG_NET_LOOPBACK=y min_ram: 21 - tags: net socket