diff options
author | Ryan Bloom <rbb@apache.org> | 2002-11-24 06:54:55 +0000 |
---|---|---|
committer | Ryan Bloom <rbb@apache.org> | 2002-11-24 06:54:55 +0000 |
commit | c4dc4763a6718f65aaddbb7d84d1a285a3ba968e (patch) | |
tree | 0e9a3f5d172e4d28c8769764046b09b8174303f6 /test/testsockets.c | |
parent | 9ebcd7dbe521fab4d7020dcb34617eb28a3b58df (diff) | |
download | apr-c4dc4763a6718f65aaddbb7d84d1a285a3ba968e.tar.gz |
Migrate testsockets to the new test suite.
git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@64083 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'test/testsockets.c')
-rw-r--r-- | test/testsockets.c | 152 |
1 files changed, 90 insertions, 62 deletions
diff --git a/test/testsockets.c b/test/testsockets.c index 7d42aa4dd..833aa58df 100644 --- a/test/testsockets.c +++ b/test/testsockets.c @@ -52,10 +52,6 @@ * <http://www.apache.org/>. */ -#include <assert.h> -#include <stdio.h> -#include <stdlib.h> -#include <string.h> #include "apr_network_io.h" #include "apr_errno.h" #include "apr_general.h" @@ -64,93 +60,125 @@ #if APR_HAVE_IPV6 #define US "::1" +#define FAMILY APR_INET6 #else #define US "127.0.0.1" +#define FAMILY APR_INET #endif -static void closeapr(void) +#define STRLEN 21 + +static void tcp_socket(CuTest *tc) { - apr_terminate(); + apr_status_t rv; + apr_socket_t *sock = NULL; + + rv = apr_socket_create(&sock, APR_INET, SOCK_STREAM, p); + CuAssertIntEquals(tc, APR_SUCCESS, rv); + CuAssertPtrNotNull(tc, sock); + apr_socket_close(sock); } -static void close_sock(apr_socket_t *sock) +static void udp_socket(CuTest *tc) { - STD_TEST_NEQ(" Closing socket", apr_socket_close(sock)) -} + apr_status_t rv; + apr_socket_t *sock = NULL; -#define STRLEN 21 + rv = apr_socket_create(&sock, APR_INET, SOCK_DGRAM, p); + CuAssertIntEquals(tc, APR_SUCCESS, rv); + CuAssertPtrNotNull(tc, sock); + apr_socket_close(sock); +} -int main(void) +static void tcp6_socket(CuTest *tc) { - apr_pool_t *pool; - apr_socket_t *sock = NULL, *sock2 = NULL; - apr_sockaddr_t *from; - apr_sockaddr_t *to; - apr_size_t len = 30; - char sendbuf[STRLEN] = "APR_INET, SOCK_DGRAM"; - char recvbuf[80]; - char *ip_addr; - apr_port_t fromport; #if APR_HAVE_IPV6 - int family = APR_INET6; + apr_status_t rv; + apr_socket_t *sock = NULL; + + rv = apr_socket_create(&sock, APR_INET6, SOCK_STREAM, p); + CuAssertIntEquals(tc, APR_SUCCESS, rv); + CuAssertPtrNotNull(tc, sock); + apr_socket_close(sock); #else - int family = APR_INET; + CuNotImpl(tc, "IPv6"); #endif +} - STD_TEST_NEQ("Initializing APR", apr_initialize()) - - atexit(closeapr); - STD_TEST_NEQ("Creating 1st pool", apr_pool_create(&pool, NULL)) - - printf("Testing socket creation functions.\n"); - - STD_TEST_NEQ(" Creating a TCP socket", - apr_socket_create(&sock, APR_INET, SOCK_STREAM, pool)) - close_sock(sock); - - STD_TEST_NEQ(" Creating UDP socket", - apr_socket_create(&sock, APR_INET, SOCK_DGRAM, pool)) - close_sock(sock); - +static void udp6_socket(CuTest *tc) +{ #if APR_HAVE_IPV6 - STD_TEST_NEQ(" Creating an IPv6 TCP socket", - apr_socket_create(&sock, APR_INET6, SOCK_STREAM, pool)) - close_sock(sock); + apr_status_t rv; + apr_socket_t *sock = NULL; - STD_TEST_NEQ(" Creating an IPv6 UDP socket", - apr_socket_create(&sock, APR_INET6, SOCK_DGRAM, pool)) - close_sock(sock); + rv = apr_socket_create(&sock, APR_INET6, SOCK_DGRAM, p); + CuAssertIntEquals(tc, APR_SUCCESS, rv); + CuAssertPtrNotNull(tc, sock); + apr_socket_close(sock); #else - printf("NO IPv6 support.\n"); + CuNotImpl(tc, "IPv6"); #endif +} - printf("Now trying sendto/recvfrom (simple tests only)\n"); +static void sendto_receivefrom(CuTest *tc) +{ + apr_status_t rv; + apr_socket_t *sock = NULL; + apr_socket_t *sock2 = NULL; + char sendbuf[STRLEN] = "APR_INET, SOCK_DGRAM"; + char recvbuf[80]; + char *ip_addr; + apr_port_t fromport; + apr_sockaddr_t *from; + apr_sockaddr_t *to; + apr_size_t len = 30; - STD_TEST_NEQ(" Creating socket #1 for test", - apr_socket_create(&sock, family, SOCK_DGRAM, pool)) - STD_TEST_NEQ(" Creating socket #2 for test", - apr_socket_create(&sock2, family, SOCK_DGRAM, pool)) + rv = apr_socket_create(&sock, FAMILY, SOCK_DGRAM, p); + CuAssertIntEquals(tc, APR_SUCCESS, rv); + rv = apr_socket_create(&sock2, FAMILY, SOCK_DGRAM, p); + CuAssertIntEquals(tc, APR_SUCCESS, rv); - apr_sockaddr_info_get(&to, US, APR_UNSPEC, 7772, 0, pool); - apr_sockaddr_info_get(&from, US, APR_UNSPEC, 7771, 0, pool); + rv = apr_sockaddr_info_get(&to, US, APR_UNSPEC, 7772, 0, p); + CuAssertIntEquals(tc, APR_SUCCESS, rv); + rv = apr_sockaddr_info_get(&from, US, APR_UNSPEC, 7771, 0, p); + CuAssertIntEquals(tc, APR_SUCCESS, rv); - STD_TEST_NEQ(" Binding socket #1", apr_socket_bind(sock, to)) - STD_TEST_NEQ(" Binding socket #2", apr_socket_bind(sock2, from)) + rv = apr_socket_bind(sock, to); + CuAssertIntEquals(tc, APR_SUCCESS, rv); + rv = apr_socket_bind(sock2, from); + CuAssertIntEquals(tc, APR_SUCCESS, rv); len = STRLEN; + rv = apr_socket_sendto(sock2, to, 0, sendbuf, &len); + CuAssertIntEquals(tc, APR_SUCCESS, rv); + CuAssertIntEquals(tc, STRLEN, len); - STD_TEST_NEQ(" Trying to sendto", - apr_socket_sendto(sock2, to, 0, sendbuf, &len)) len = 80; - STD_TEST_NEQ(" Trying to recvfrom", - apr_socket_recvfrom(from, sock, 0, recvbuf, &len)) - printf("\t\tGot back %d bytes [%s] from recvfrom\n", len, recvbuf); + rv = apr_socket_recvfrom(from, sock, 0, recvbuf, &len); + CuAssertIntEquals(tc, APR_SUCCESS, rv); + CuAssertIntEquals(tc, STRLEN, len); + CuAssertStrEquals(tc, "APR_INET, SOCK_DGRAM", recvbuf); + apr_sockaddr_ip_get(&ip_addr, from); apr_sockaddr_port_get(&fromport, from); - printf("\t\tData came from %s:%u\n", ip_addr, fromport); + CuAssertStrEquals(tc, US, ip_addr); + CuAssertIntEquals(tc, 7771, fromport); - close_sock(sock); - close_sock(sock2); + apr_socket_close(sock); + apr_socket_close(sock2); +} - return 1; +CuSuite *testsockets(void) +{ + CuSuite *suite = CuSuiteNew("Socket Creation"); + + SUITE_ADD_TEST(suite, tcp_socket); + SUITE_ADD_TEST(suite, udp_socket); + + SUITE_ADD_TEST(suite, tcp6_socket); + SUITE_ADD_TEST(suite, udp6_socket); + + SUITE_ADD_TEST(suite, sendto_receivefrom); + return suite; } + |