11 static int setup(void **state)
16 torture_setup_socket_dir(state);
18 ret = snprintf(str, 10, "%d", MAX_SOCKETS);
23 ret = setenv("SOCKET_WRAPPER_MAX_SOCKETS", str, 1);
28 static int teardown(void **state)
30 torture_teardown_socket_dir(state);
35 static int _socket(int *_s)
39 s = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
50 static void test_max_sockets(void **state)
53 int s[MAX_SOCKETS+1] = { 0 };
56 (void) state; /* unused */
58 for (i = 0; i < MAX_SOCKETS; i++) {
60 assert_return_code(rc, errno);
63 /* no free space for sockets left */
64 rc = _socket(&s[MAX_SOCKETS]);
65 assert_int_equal(rc, -1);
66 assert_int_equal(errno, ENFILE);
68 /* closing a socket frees up space */
71 assert_return_code(rc, errno);
74 rc = _socket(&s[MAX_SOCKETS]);
75 assert_int_equal(rc, -1);
76 assert_int_equal(errno, ENFILE);
78 for (i = 0; i < MAX_SOCKETS; i++) {
86 const struct CMUnitTest max_sockets_tests[] = {
87 cmocka_unit_test_setup_teardown(test_max_sockets,
91 rc = cmocka_run_group_tests(max_sockets_tests, NULL, NULL);