You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@apr.apache.org by rb...@apache.org on 2002/11/24 07:54:55 UTC

cvs commit: apr/test Makefile.in test_apr.h testall.c testsockets.c

rbb         2002/11/23 22:54:55

  Modified:    test     Makefile.in test_apr.h testall.c testsockets.c
  Log:
  Migrate testsockets to the new test suite.
  
  Revision  Changes    Path
  1.112     +3 -6      apr/test/Makefile.in
  
  Index: Makefile.in
  ===================================================================
  RCS file: /home/cvs/apr/test/Makefile.in,v
  retrieving revision 1.111
  retrieving revision 1.112
  diff -u -r1.111 -r1.112
  --- Makefile.in	24 Nov 2002 06:13:59 -0000	1.111
  +++ Makefile.in	24 Nov 2002 06:54:55 -0000	1.112
  @@ -26,7 +26,6 @@
   	testpoll@EXEEXT@ \
   	testhash@EXEEXT@ \
   	testuser@EXEEXT@ \
  -	testsockets@EXEEXT@ \
   	testdup@EXEEXT@ \
   	testatomic@EXEEXT@ \
   	testmutexscope@EXEEXT@ \
  @@ -129,9 +128,6 @@
   testhash@EXEEXT@: testhash.lo $(LOCAL_LIBS)
   	$(LINK) testhash.lo $(LOCAL_LIBS) $(ALL_LIBS)
   
  -testsockets@EXEEXT@: testsockets.lo $(LOCAL_LIBS)
  -	$(LINK) testsockets.lo $(LOCAL_LIBS) $(ALL_LIBS)
  -
   testuser@EXEEXT@: testuser.lo $(LOCAL_LIBS)
   	$(LINK) testuser.lo $(LOCAL_LIBS) $(ALL_LIBS)
   
  @@ -153,12 +149,13 @@
   testall: testall.lo testtime.lo teststr.lo testvsn.lo testipsub.lo \
            testmmap.lo testud.lo testtable.lo testsleep.lo testpools.lo \
            testfmt.lo testfile.lo testdir.lo testfileinfo.lo testrand.lo \
  -         testdso.lo testoc.lo testdup.lo CuTest.lo mod_test.la \
  +         testdso.lo testoc.lo testdup.lo testsockets.lo CuTest.lo mod_test.la \
            libmod_test.la occhild@EXEEXT@ $(LOCAL_LIBS)
   	$(LINK) testall.lo testtime.lo teststr.lo testvsn.lo testipsub.lo \
   	testmmap.lo testud.lo testtable.lo testsleep.lo testpools.lo      \
   	testfmt.lo testfile.lo testdir.lo testfileinfo.lo testrand.lo     \
  -	testdso.lo testoc.lo testdup.lo CuTest.lo $(LOCAL_LIBS) $(ALL_LIBS)
  +	testdso.lo testoc.lo testdup.lo testsockets.lo CuTest.lo \
  +	$(LOCAL_LIBS) $(ALL_LIBS)
   
   
   # DO NOT REMOVE
  
  
  
  1.26      +1 -0      apr/test/test_apr.h
  
  Index: test_apr.h
  ===================================================================
  RCS file: /home/cvs/apr/test/test_apr.h,v
  retrieving revision 1.25
  retrieving revision 1.26
  diff -u -r1.25 -r1.26
  --- test_apr.h	24 Nov 2002 06:13:59 -0000	1.25
  +++ test_apr.h	24 Nov 2002 06:54:55 -0000	1.26
  @@ -83,6 +83,7 @@
   CuSuite *testdso(void);
   CuSuite *testoc(void);
   CuSuite *testdup(void);
  +CuSuite *testsockets(void);
   
   
   
  
  
  
  1.24      +1 -0      apr/test/testall.c
  
  Index: testall.c
  ===================================================================
  RCS file: /home/cvs/apr/test/testall.c,v
  retrieving revision 1.23
  retrieving revision 1.24
  diff -u -r1.23 -r1.24
  --- testall.c	24 Nov 2002 06:13:59 -0000	1.23
  +++ testall.c	24 Nov 2002 06:54:55 -0000	1.24
  @@ -81,6 +81,7 @@
       {"testrand", testrand},
       {"testdso", testdso},
       {"testoc", testoc},
  +    {"testsockets", testsockets},
       {"LastTest", NULL}
   };
   
  
  
  
  1.7       +93 -65    apr/test/testsockets.c
  
  Index: testsockets.c
  ===================================================================
  RCS file: /home/cvs/apr/test/testsockets.c,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- testsockets.c	20 Nov 2002 03:50:22 -0000	1.6
  +++ testsockets.c	24 Nov 2002 06:54:55 -0000	1.7
  @@ -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);
  -
  -    STD_TEST_NEQ("    Creating an IPv6 UDP socket",
  -                 apr_socket_create(&sock, APR_INET6, SOCK_DGRAM, pool))
  -    close_sock(sock);
  +    apr_status_t rv;
  +    apr_socket_t *sock = NULL;
  +
  +    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");
  -
  -    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))
  -
  -    apr_sockaddr_info_get(&to, US, APR_UNSPEC, 7772, 0, pool);
  -    apr_sockaddr_info_get(&from, US, APR_UNSPEC, 7771, 0, pool);
  +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("    Binding socket #1", apr_socket_bind(sock, to))
  -    STD_TEST_NEQ("    Binding socket #2", apr_socket_bind(sock2, from))
  +    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);
  +
  +    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);
  +
  +    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);
  +
  +    apr_socket_close(sock);
  +    apr_socket_close(sock2);
  +}
  +
  +CuSuite *testsockets(void)
  +{
  +    CuSuite *suite = CuSuiteNew("Socket Creation");
   
  -    close_sock(sock);
  -    close_sock(sock2);
  +    SUITE_ADD_TEST(suite, tcp_socket);
  +    SUITE_ADD_TEST(suite, udp_socket);
   
  -    return 1;
  +    SUITE_ADD_TEST(suite, tcp6_socket);
  +    SUITE_ADD_TEST(suite, udp6_socket);
  +
  +    SUITE_ADD_TEST(suite, sendto_receivefrom);
  +    return suite;
   }
  +