MCPcopy Create free account
hub / github.com/RT-Thread/rt-thread / TC_sal_socket_accept

Function TC_sal_socket_accept

components/net/utest/tc_sal_socket.c:609–676  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

607}
608
609static void TC_sal_socket_accept(void)
610{
611 int server_sock = -1;
612 struct sockaddr_in bind_addr;
613 int ret;
614 int test_port = get_available_port(TEST_SERVER_BASE_PORT);
615
616 LOG_I("Starting TC_sal_socket_accept tests...");
617
618 /* Setup test server */
619 LOG_I("Creating server socket...");
620 server_sock = create_test_socket(AF_INET, SOCK_STREAM, 0);
621 if (server_sock < 0)
622 {
623 LOG_E("Failed to create server socket");
624 return;
625 }
626
627 memset(&bind_addr, 0, sizeof(bind_addr));
628 bind_addr.sin_family = AF_INET;
629 bind_addr.sin_addr.s_addr = htonl(INADDR_ANY);
630 bind_addr.sin_port = htons(test_port);
631
632 LOG_I("Binding server socket %d to port %d...", server_sock, test_port);
633 ret = sal_bind(server_sock, (struct sockaddr *)&bind_addr, sizeof(bind_addr));
634 if (ret != 0)
635 {
636 LOG_E("Failed to bind server socket %d: %d", server_sock, ret);
637 close_test_socket(server_sock);
638 return;
639 }
640
641 LOG_I("Starting to listen on server socket %d...", server_sock);
642 ret = sal_listen(server_sock, 5);
643 if (ret != 0)
644 {
645 LOG_E("Failed to listen on server socket %d: %d", server_sock, ret);
646 close_test_socket(server_sock);
647 return;
648 }
649
650 /* Test accept on valid socket with timeout */
651 LOG_I("Testing accept with timeout on socket %d...", server_sock);
652 struct sockaddr_in client_addr;
653 socklen_t addr_len = sizeof(client_addr);
654 int accepted_sock = sal_accept(server_sock, (struct sockaddr*)&client_addr, &addr_len);
655
656 if (accepted_sock >= 0)
657 {
658 LOG_W("Unexpected connection accepted: %d", accepted_sock);
659 close_test_socket(accepted_sock);
660 }
661 else
662 {
663 LOG_I("Accept timed out as expected: %d", accepted_sock);
664 }
665
666 close_test_socket(server_sock);

Callers

nothing calls this directly

Calls 6

get_available_portFunction · 0.85
create_test_socketFunction · 0.85
sal_bindFunction · 0.85
close_test_socketFunction · 0.85
sal_listenFunction · 0.85
sal_acceptFunction · 0.85

Tested by

no test coverage detected