static bool recv_dscp;
static unsigned int recv_dscp_value;
static bool recv_trunc;
+isc_socket_t *s1 = NULL, *s2 = NULL, *s3 = NULL;
+isc_task_t *test_task = NULL;
/*
* Helper functions
_teardown(void **state) {
UNUSED(state);
+ if (s1 != NULL) {
+ isc_socket_detach(&s1);
+ }
+ if (s2 != NULL) {
+ isc_socket_detach(&s2);
+ }
+ if (s3 != NULL) {
+ isc_socket_detach(&s3);
+ }
+ if (test_task != NULL) {
+ isc_task_detach(&test_task);
+ }
+
isc_test_end();
return (0);
isc_result_t result;
isc_sockaddr_t addr1, addr2;
struct in_addr in;
- isc_socket_t *s1 = NULL, *s2 = NULL;
- isc_task_t *task = NULL;
char sendbuf[BUFSIZ], recvbuf[BUFSIZ];
completion_t completion;
isc_region_t r;
assert_int_equal(result, ISC_R_SUCCESS);
assert_true(isc_sockaddr_getport(&addr2) != 0);
- result = isc_task_create(taskmgr, 0, &task);
+ result = isc_task_create(taskmgr, 0, &test_task);
assert_int_equal(result, ISC_R_SUCCESS);
snprintf(sendbuf, sizeof(sendbuf), "Hello");
r.length = strlen(sendbuf) + 1;
completion_init(&completion);
- result = isc_socket_sendto(s1, &r, task, event_done, &completion,
+ result = isc_socket_sendto(s1, &r, test_task, event_done, &completion,
&addr2, NULL);
assert_int_equal(result, ISC_R_SUCCESS);
waitfor(&completion);
r.base = (void *) recvbuf;
r.length = BUFSIZ;
completion_init(&completion);
- result = isc_socket_recv(s2, &r, 1, task, event_done, &completion);
+ result = isc_socket_recv(s2, &r, 1, test_task, event_done, &completion);
assert_int_equal(result, ISC_R_SUCCESS);
waitfor(&completion);
assert_true(completion.done);
assert_int_equal(completion.result, ISC_R_SUCCESS);
assert_string_equal(recvbuf, "Hello");
-
- isc_task_detach(&task);
-
- isc_socket_detach(&s1);
- isc_socket_detach(&s2);
-
}
/* Test UDP sendto/recv with duplicated socket */
isc_result_t result;
isc_sockaddr_t addr1, addr2;
struct in_addr in;
- isc_socket_t *s1 = NULL, *s2 = NULL, *s3 = NULL;
- isc_task_t *task = NULL;
char sendbuf[BUFSIZ], recvbuf[BUFSIZ];
completion_t completion;
isc_region_t r;
result = isc_socket_dup(s2, &s3);
assert_int_equal(result, ISC_R_SUCCESS);
- result = isc_task_create(taskmgr, 0, &task);
+ result = isc_task_create(taskmgr, 0, &test_task);
assert_int_equal(result, ISC_R_SUCCESS);
snprintf(sendbuf, sizeof(sendbuf), "Hello");
r.length = strlen(sendbuf) + 1;
completion_init(&completion);
- result = isc_socket_sendto(s1, &r, task, event_done, &completion,
+ result = isc_socket_sendto(s1, &r, test_task, event_done, &completion,
&addr2, NULL);
assert_int_equal(result, ISC_R_SUCCESS);
waitfor(&completion);
r.length = strlen(sendbuf) + 1;
completion_init(&completion);
- result = isc_socket_sendto(s1, &r, task, event_done, &completion,
+ result = isc_socket_sendto(s1, &r, test_task, event_done, &completion,
&addr2, NULL);
assert_int_equal(result, ISC_R_SUCCESS);
waitfor(&completion);
r.base = (void *) recvbuf;
r.length = BUFSIZ;
completion_init(&completion);
- result = isc_socket_recv(s2, &r, 1, task, event_done, &completion);
+ result = isc_socket_recv(s2, &r, 1, test_task, event_done, &completion);
assert_int_equal(result, ISC_R_SUCCESS);
waitfor(&completion);
assert_true(completion.done);
r.base = (void *) recvbuf;
r.length = BUFSIZ;
completion_init(&completion);
- result = isc_socket_recv(s3, &r, 1, task, event_done, &completion);
+ result = isc_socket_recv(s3, &r, 1, test_task, event_done, &completion);
assert_int_equal(result, ISC_R_SUCCESS);
waitfor(&completion);
assert_true(completion.done);
assert_int_equal(completion.result, ISC_R_SUCCESS);
assert_string_equal(recvbuf, "World");
-
- isc_task_detach(&task);
-
- isc_socket_detach(&s1);
- isc_socket_detach(&s2);
- isc_socket_detach(&s3);
-
}
/* Test UDP sendto/recv (IPv4) */
isc_result_t result;
isc_sockaddr_t addr1, addr2;
struct in_addr in;
- isc_socket_t *s1 = NULL, *s2 = NULL;
- isc_task_t *task = NULL;
char sendbuf[BUFSIZ], recvbuf[BUFSIZ];
completion_t completion;
isc_region_t r;
assert_int_equal(result, ISC_R_SUCCESS);
assert_true(isc_sockaddr_getport(&addr2) != 0);
- result = isc_task_create(taskmgr, 0, &task);
+ result = isc_task_create(taskmgr, 0, &test_task);
assert_int_equal(result, ISC_R_SUCCESS);
snprintf(sendbuf, sizeof(sendbuf), "Hello");
recv_dscp = false;
recv_dscp_value = 0;
- result = isc_socket_sendto2(s1, &r, task, &addr2, NULL, socketevent, 0);
+ result = isc_socket_sendto2(s1, &r, test_task, &addr2, NULL,
+ socketevent, 0);
assert_int_equal(result, ISC_R_SUCCESS);
waitfor(&completion);
assert_true(completion.done);
r.base = (void *) recvbuf;
r.length = BUFSIZ;
completion_init(&completion);
- result = isc_socket_recv(s2, &r, 1, task, event_done, &completion);
+ result = isc_socket_recv(s2, &r, 1, test_task, event_done, &completion);
assert_int_equal(result, ISC_R_SUCCESS);
waitfor(&completion);
assert_true(completion.done);
} else {
assert_false(recv_dscp);
}
- isc_task_detach(&task);
-
- isc_socket_detach(&s1);
- isc_socket_detach(&s2);
-
}
#if defined(ISC_PLATFORM_HAVEIPV6) && defined(WANT_IPV6)
isc_result_t result;
isc_sockaddr_t addr1, addr2;
struct in6_addr in6;
- isc_socket_t *s1 = NULL, *s2 = NULL;
- isc_task_t *task = NULL;
char sendbuf[BUFSIZ], recvbuf[BUFSIZ];
completion_t completion;
isc_region_t r;
assert_int_equal(result, ISC_R_SUCCESS);
assert_true(isc_sockaddr_getport(&addr2) != 0);
- result = isc_task_create(taskmgr, 0, &task);
+ result = isc_task_create(taskmgr, 0, &test_task);
assert_int_equal(result, ISC_R_SUCCESS);
snprintf(sendbuf, sizeof(sendbuf), "Hello");
recv_dscp = false;
recv_dscp_value = 0;
- result = isc_socket_sendto2(s1, &r, task, &addr2, NULL, socketevent, 0);
+ result = isc_socket_sendto2(s1, &r, test_task, &addr2, NULL,
+ socketevent, 0);
assert_int_equal(result, ISC_R_SUCCESS);
waitfor(&completion);
assert_true(completion.done);
r.base = (void *) recvbuf;
r.length = BUFSIZ;
completion_init(&completion);
- result = isc_socket_recv(s2, &r, 1, task, event_done, &completion);
+ result = isc_socket_recv(s2, &r, 1, test_task, event_done, &completion);
assert_int_equal(result, ISC_R_SUCCESS);
waitfor(&completion);
assert_true(completion.done);
} else {
assert_false(recv_dscp);
}
-
- isc_task_detach(&task);
-
- isc_socket_detach(&s1);
- isc_socket_detach(&s2);
-
}
#endif
isc_result_t result;
isc_sockaddr_t addr1;
struct in_addr in;
- isc_socket_t *s1 = NULL, *s2 = NULL, *s3 = NULL;
- isc_task_t *task = NULL;
char sendbuf[BUFSIZ], recvbuf[BUFSIZ];
completion_t completion, completion2;
isc_region_t r;
result = isc_socket_create(socketmgr, PF_INET, isc_sockettype_tcp, &s2);
assert_int_equal(result, ISC_R_SUCCESS);
- result = isc_task_create(taskmgr, 0, &task);
+ result = isc_task_create(taskmgr, 0, &test_task);
assert_int_equal(result, ISC_R_SUCCESS);
completion_init(&completion2);
- result = isc_socket_accept(s1, task, accept_done, &completion2);
+ result = isc_socket_accept(s1, test_task, accept_done, &completion2);
assert_int_equal(result, ISC_R_SUCCESS);
completion_init(&completion);
- result = isc_socket_connect(s2, &addr1, task, event_done, &completion);
+ result = isc_socket_connect(s2, &addr1, test_task, event_done,
+ &completion);
assert_int_equal(result, ISC_R_SUCCESS);
waitfor2(&completion, &completion2);
assert_true(completion.done);
recv_dscp_value = 0;
completion_init(&completion);
- result = isc_socket_sendto(s2, &r, task, event_done, &completion,
+ result = isc_socket_sendto(s2, &r, test_task, event_done, &completion,
NULL, NULL);
assert_int_equal(result, ISC_R_SUCCESS);
waitfor(&completion);
r.base = (void *) recvbuf;
r.length = BUFSIZ;
completion_init(&completion);
- result = isc_socket_recv(s3, &r, 1, task, event_done, &completion);
+ result = isc_socket_recv(s3, &r, 1, test_task, event_done, &completion);
assert_int_equal(result, ISC_R_SUCCESS);
waitfor(&completion);
assert_true(completion.done);
} else {
assert_false(recv_dscp);
}
-
- isc_task_detach(&task);
-
- isc_socket_detach(&s1);
- isc_socket_detach(&s2);
- isc_socket_detach(&s3);
-
}
#if defined(ISC_PLATFORM_HAVEIPV6) && defined(WANT_IPV6)
isc_result_t result;
isc_sockaddr_t addr1;
struct in6_addr in6;
- isc_socket_t *s1 = NULL, *s2 = NULL, *s3 = NULL;
- isc_task_t *task = NULL;
char sendbuf[BUFSIZ], recvbuf[BUFSIZ];
completion_t completion, completion2;
isc_region_t r;
&s2);
assert_int_equal(result, ISC_R_SUCCESS);
- result = isc_task_create(taskmgr, 0, &task);
+ result = isc_task_create(taskmgr, 0, &test_task);
assert_int_equal(result, ISC_R_SUCCESS);
completion_init(&completion2);
- result = isc_socket_accept(s1, task, accept_done, &completion2);
+ result = isc_socket_accept(s1, test_task, accept_done, &completion2);
assert_int_equal(result, ISC_R_SUCCESS);
completion_init(&completion);
- result = isc_socket_connect(s2, &addr1, task, event_done, &completion);
+ result = isc_socket_connect(s2, &addr1, test_task, event_done,
+ &completion);
assert_int_equal(result, ISC_R_SUCCESS);
waitfor2(&completion, &completion2);
assert_true(completion.done);
recv_dscp_value = 0;
completion_init(&completion);
- result = isc_socket_sendto(s2, &r, task, event_done, &completion,
+ result = isc_socket_sendto(s2, &r, test_task, event_done, &completion,
NULL, NULL);
assert_int_equal(result, ISC_R_SUCCESS);
waitfor(&completion);
r.base = (void *) recvbuf;
r.length = BUFSIZ;
completion_init(&completion);
- result = isc_socket_recv(s3, &r, 1, task, event_done, &completion);
+ result = isc_socket_recv(s3, &r, 1, test_task, event_done, &completion);
assert_int_equal(result, ISC_R_SUCCESS);
waitfor(&completion);
assert_true(completion.done);
} else {
assert_false(recv_dscp);
}
-
- isc_task_detach(&task);
-
- isc_socket_detach(&s1);
- isc_socket_detach(&s2);
- isc_socket_detach(&s3);
-
}
#endif
isc_result_t result;
isc_sockaddr_t addr1, addr2;
struct in_addr in;
- isc_socket_t *s1 = NULL, *s2 = NULL;
- isc_task_t *task = NULL;
- char sendbuf[BUFSIZ*2], recvbuf[BUFSIZ];
+ char sendbuf[BUFSIZ * 2], recvbuf[BUFSIZ];
completion_t completion;
isc_region_t r;
isc_socketevent_t *socketevent;
assert_int_equal(result, ISC_R_SUCCESS);
assert_true(isc_sockaddr_getport(&addr2) != 0);
- result = isc_task_create(taskmgr, 0, &task);
+ result = isc_task_create(taskmgr, 0, &test_task);
assert_int_equal(result, ISC_R_SUCCESS);
/*
event_done, &completion);
assert_non_null(socketevent);
- result = isc_socket_sendto2(s1, &r, task, &addr2, NULL, socketevent, 0);
+ result = isc_socket_sendto2(s1, &r, test_task, &addr2, NULL,
+ socketevent, 0);
assert_int_equal(result, ISC_R_SUCCESS);
waitfor(&completion);
assert_true(completion.done);
r.length = BUFSIZ;
completion_init(&completion);
recv_trunc = false;
- result = isc_socket_recv(s2, &r, 1, task, event_done, &completion);
+ result = isc_socket_recv(s2, &r, 1, test_task, event_done, &completion);
assert_int_equal(result, ISC_R_SUCCESS);
waitfor(&completion);
assert_true(completion.done);
event_done, &completion);
assert_non_null(socketevent);
- result = isc_socket_sendto2(s1, &r, task, &addr2, NULL, socketevent, 0);
+ result = isc_socket_sendto2(s1, &r, test_task, &addr2, NULL,
+ socketevent, 0);
assert_int_equal(result, ISC_R_SUCCESS);
waitfor(&completion);
assert_true(completion.done);
r.length = BUFSIZ;
completion_init(&completion);
recv_trunc = false;
- result = isc_socket_recv(s2, &r, 1, task, event_done, &completion);
+ result = isc_socket_recv(s2, &r, 1, test_task, event_done, &completion);
assert_int_equal(result, ISC_R_SUCCESS);
waitfor(&completion);
assert_true(completion.done);
assert_int_equal(completion.result, ISC_R_SUCCESS);
assert_string_equal(recvbuf, "Hello");
assert_true(recv_trunc);
-
- isc_task_detach(&task);
-
- isc_socket_detach(&s1);
- isc_socket_detach(&s2);
-
}
/*