Return-Path: X-Original-To: apmail-apr-commits-archive@www.apache.org Delivered-To: apmail-apr-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 7269111800 for ; Tue, 15 Apr 2014 12:15:40 +0000 (UTC) Received: (qmail 9447 invoked by uid 500); 15 Apr 2014 12:15:12 -0000 Delivered-To: apmail-apr-commits-archive@apr.apache.org Received: (qmail 8652 invoked by uid 500); 15 Apr 2014 12:15:02 -0000 Mailing-List: contact commits-help@apr.apache.org; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: Reply-To: dev@apr.apache.org List-Id: Delivered-To: mailing list commits@apr.apache.org Received: (qmail 8611 invoked by uid 99); 15 Apr 2014 12:15:00 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 15 Apr 2014 12:15:00 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 15 Apr 2014 12:15:00 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id 62D7A2388860; Tue, 15 Apr 2014 12:14:37 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1587543 - /apr/apr/trunk/test/testsock.c Date: Tue, 15 Apr 2014 12:14:37 -0000 To: commits@apr.apache.org From: trawick@apache.org X-Mailer: svnmailer-1.0.9 Message-Id: <20140415121437.62D7A2388860@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: trawick Date: Tue Apr 15 12:14:36 2014 New Revision: 1587543 URL: http://svn.apache.org/r1587543 Log: Add testcase for apr_sockaddr_info_copy() Submitted by: Yann Ylavic Reviewed by: trawick Modified: apr/apr/trunk/test/testsock.c Modified: apr/apr/trunk/test/testsock.c URL: http://svn.apache.org/viewvc/apr/apr/trunk/test/testsock.c?rev=1587543&r1=1587542&r2=1587543&view=diff ============================================================================== --- apr/apr/trunk/test/testsock.c (original) +++ apr/apr/trunk/test/testsock.c Tue Apr 15 12:14:36 2014 @@ -97,6 +97,56 @@ static void test_addr_info(abts_case *tc ABTS_INT_EQUAL(tc, 0, ntohs(sa->sa.sin.sin_port)); } +static void test_addr_copy(abts_case *tc, void *data) +{ + apr_status_t rv; + apr_sockaddr_t *sa1, *sa2; + int rc; + const char *hosts[] = { + "127.0.0.1", +#if APR_HAVE_IPV6 + "::1", +#endif + NULL + }, **host = hosts; + + /* Loop up to and including NULL */ + do { + rv = apr_sockaddr_info_get(&sa1, *host, APR_UNSPEC, 80, 0, p); + APR_ASSERT_SUCCESS(tc, "Problem generating sockaddr", rv); + + rv = apr_sockaddr_info_copy(&sa2, sa1, p); + APR_ASSERT_SUCCESS(tc, "Problem copying sockaddr", rv); + + ABTS_PTR_NOTNULL(tc, sa1); + do { + ABTS_PTR_NOTNULL(tc, sa2); + + rc = apr_sockaddr_equal(sa2, sa1); + ABTS_INT_NEQUAL(tc, 0, rc); + ABTS_INT_EQUAL(tc, 80, sa1->port); + ABTS_INT_EQUAL(tc, sa2->port, sa1->port); + ABTS_INT_EQUAL(tc, 80, ntohs(sa1->sa.sin.sin_port)); + ABTS_INT_EQUAL(tc, ntohs(sa2->sa.sin.sin_port), ntohs(sa1->sa.sin.sin_port)); + + if (*host) { + ABTS_PTR_NOTNULL(tc, sa1->hostname); + ABTS_PTR_NOTNULL(tc, sa2->hostname); + ABTS_STR_EQUAL(tc, *host, sa1->hostname); + ABTS_STR_EQUAL(tc, sa1->hostname, sa2->hostname); + ABTS_TRUE(tc, sa1->hostname != sa2->hostname); + } + else { + ABTS_PTR_EQUAL(tc, NULL, sa1->hostname); + ABTS_PTR_EQUAL(tc, NULL, sa2->hostname); + } + + } while ((sa2 = sa2->next, sa1 = sa1->next)); + ABTS_PTR_EQUAL(tc, NULL, sa2); + + } while (*host++); +} + static void test_serv_by_name(abts_case *tc, void *data) { apr_status_t rv; @@ -562,6 +612,7 @@ abts_suite *testsock(abts_suite *suite) suite = ADD_SUITE(suite) socket_name = IPV4_SOCKET_NAME; abts_run_test(suite, test_addr_info, NULL); + abts_run_test(suite, test_addr_copy, NULL); abts_run_test(suite, test_serv_by_name, NULL); abts_run_test(suite, test_create_bind_listen, NULL); abts_run_test(suite, test_send, NULL);