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 860D517BEF for ; Fri, 13 Mar 2015 23:49:21 +0000 (UTC) Received: (qmail 55605 invoked by uid 500); 13 Mar 2015 23:49:21 -0000 Delivered-To: apmail-apr-commits-archive@apr.apache.org Received: (qmail 55551 invoked by uid 500); 13 Mar 2015 23:49:21 -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 55542 invoked by uid 99); 13 Mar 2015 23:49:21 -0000 Received: from eris.apache.org (HELO hades.apache.org) (140.211.11.105) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 13 Mar 2015 23:49:21 +0000 Received: from hades.apache.org (localhost [127.0.0.1]) by hades.apache.org (ASF Mail Server at hades.apache.org) with ESMTP id 43019AC0163 for ; Fri, 13 Mar 2015 23:49:21 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1666612 - in /apr/apr/branches/1.6.x: ./ test/testskiplist.c Date: Fri, 13 Mar 2015 23:49:20 -0000 To: commits@apr.apache.org From: ylavic@apache.org X-Mailer: svnmailer-1.0.9 Message-Id: <20150313234921.43019AC0163@hades.apache.org> Author: ylavic Date: Fri Mar 13 23:49:20 2015 New Revision: 1666612 URL: http://svn.apache.org/r1666612 Log: Merge r1666611 from trunk. testskiplist: Add a test to show that comparek == compare is required for apr_skiplist_remove() and apr_skiplist_find() to work. It also shows that a single compare function can be used for add semantic with apr_skiplist_insert() (and unique pointers). Modified: apr/apr/branches/1.6.x/ (props changed) apr/apr/branches/1.6.x/test/testskiplist.c Propchange: apr/apr/branches/1.6.x/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Fri Mar 13 23:49:20 2015 @@ -1,4 +1,4 @@ /apr/apr/branches/1.4.x:1003369,1101301 -/apr/apr/trunk:733052,739635,741862,741866-741867,741869,741871,745763-745764,746310,747990,748080,748361,748371,748565,748888,748902,748988,749810,760443,775683,782838,783398,783958,784633,784773,788588,789050,793192-793193,794118,794485,795267,799497,800627,809745,809854,810472,811455,813063,821306,829490,831641,832904,835607,888669,892028,892159,892435,892909,896382,896653,908427,910419,910597,917819,917837-917838,925965,929796,931973,951771,960665,960671,979891,983618,989450,990435,1003338,1044440,1044447,1055657,1072165,1078845,1081462,1081495,1083038,1083242,1084662,1086695,1088023,1089031,1089129,1089438,1099348,1103310,1183683,1183685-1183686,1183688,1183693,1183698,1213382,1235047,1236970,1237078,1237507,1240472,1340286,1340288,1340470,1341193,1341196,1343233,1343243,1367050,1368819,1370494,1372018,1372022,1372093,1372849,1376957,1384764,1389077,1400200,1402868,1405985,1406690,1420106,1420109,1425356,1428809,1438940,1438957-1438959,1442903,1449568,1456418,1459994,1460179-14 60180,1460241,1460399,1460405,1462738,1462813,1470186,1470348,1475509,1478905,1480067,1481262,1481265,1484271,1487796,1489517,1496407,1502804,1510354,1516261,1523384,1523479,1523484,1523505,1523521,1523604,1523613,1523615,1523844-1523845,1523853,1524014,1524031,1528797,1528809,1529488,1529495,1529515,1529521,1529668,1530786,1530800,1530988,1531554,1531768,1531884,1532022,1533104,1533111,1533979,1535027,1535157,1536744,1538171,1539374,1539389,1539455,1539603,1541054,1541061,1541486,1541655,1541666,1541744,1542601,1542779,1543033,1543056,1548575,1550907,1551650,1551659,1558905,1559382,1559873,1559975,1561040,1561260,1561265,1561321,1561347,1561356,1561361,1561394,1561555,1571894,1575509,1578420,1587045,1587063,1587543,1587545,1588878,1588937,1593611,1593614-1593615,1593680,1594684,1594708,1595549,1597797,1597803,1604590,1604596,1604598,1605104,1610854,1611023,1611107,1611110,1611117,1611120,1611125,1611184,1611193,1611466,1611515,1611517,1625173,1626564,1634615,1648830,1664406,1664447 ,1664451,1664471,1664769-1664770,1664775,1664904,1664911,1664958,1666411,1666458 +/apr/apr/trunk:733052,739635,741862,741866-741867,741869,741871,745763-745764,746310,747990,748080,748361,748371,748565,748888,748902,748988,749810,760443,775683,782838,783398,783958,784633,784773,788588,789050,793192-793193,794118,794485,795267,799497,800627,809745,809854,810472,811455,813063,821306,829490,831641,832904,835607,888669,892028,892159,892435,892909,896382,896653,908427,910419,910597,917819,917837-917838,925965,929796,931973,951771,960665,960671,979891,983618,989450,990435,1003338,1044440,1044447,1055657,1072165,1078845,1081462,1081495,1083038,1083242,1084662,1086695,1088023,1089031,1089129,1089438,1099348,1103310,1183683,1183685-1183686,1183688,1183693,1183698,1213382,1235047,1236970,1237078,1237507,1240472,1340286,1340288,1340470,1341193,1341196,1343233,1343243,1367050,1368819,1370494,1372018,1372022,1372093,1372849,1376957,1384764,1389077,1400200,1402868,1405985,1406690,1420106,1420109,1425356,1428809,1438940,1438957-1438959,1442903,1449568,1456418,1459994,1460179-14 60180,1460241,1460399,1460405,1462738,1462813,1470186,1470348,1475509,1478905,1480067,1481262,1481265,1484271,1487796,1489517,1496407,1502804,1510354,1516261,1523384,1523479,1523484,1523505,1523521,1523604,1523613,1523615,1523844-1523845,1523853,1524014,1524031,1528797,1528809,1529488,1529495,1529515,1529521,1529668,1530786,1530800,1530988,1531554,1531768,1531884,1532022,1533104,1533111,1533979,1535027,1535157,1536744,1538171,1539374,1539389,1539455,1539603,1541054,1541061,1541486,1541655,1541666,1541744,1542601,1542779,1543033,1543056,1548575,1550907,1551650,1551659,1558905,1559382,1559873,1559975,1561040,1561260,1561265,1561321,1561347,1561356,1561361,1561394,1561555,1571894,1575509,1578420,1587045,1587063,1587543,1587545,1588878,1588937,1593611,1593614-1593615,1593680,1594684,1594708,1595549,1597797,1597803,1604590,1604596,1604598,1605104,1610854,1611023,1611107,1611110,1611117,1611120,1611125,1611184,1611193,1611466,1611515,1611517,1625173,1626564,1634615,1648830,1664406,1664447 ,1664451,1664471,1664769-1664770,1664775,1664904,1664911,1664958,1666411,1666458,1666611 /apr/apr/trunk/test/testnames.c:1460405 /httpd/httpd/trunk:1604590 Modified: apr/apr/branches/1.6.x/test/testskiplist.c URL: http://svn.apache.org/viewvc/apr/apr/branches/1.6.x/test/testskiplist.c?rev=1666612&r1=1666611&r2=1666612&view=diff ============================================================================== --- apr/apr/branches/1.6.x/test/testskiplist.c (original) +++ apr/apr/branches/1.6.x/test/testskiplist.c Fri Mar 13 23:49:20 2015 @@ -241,8 +241,8 @@ static void skiplist_random_loop(abts_ca } typedef struct elem { - int a; int b; + int a; } elem; @@ -262,16 +262,17 @@ static int comp(void *a, void *b){ return *((int*) a) - *((int*) b); } -static int compk(void *a, void *b){ - return comp(a, b); -} - static int scomp(void *a, void *b){ return ((elem*) a)->a - ((elem*) b)->a; } -static int scompk(void *a, void *b){ - return scomp(a, b); +static int acomp(void *a, void *b){ + if (a != b) { + return (scomp(a, b) < 0) ? -1 : 1; + } + else { + return 0; + } } static void skiplist_test(abts_case *tc, void *data) { @@ -281,6 +282,7 @@ static void skiplist_test(abts_case *tc, elem *val2 = NULL; apr_skiplist * list = NULL; apr_skiplist * list2 = NULL; + apr_skiplist * list3 = NULL; int first_forty_two = 42, second_forty_two = 42; elem t1, t2, t3, t4, t5; @@ -291,7 +293,7 @@ static void skiplist_test(abts_case *tc, t5.a = 142; t5.b = 1; ABTS_INT_EQUAL(tc, APR_SUCCESS, apr_skiplist_init(&list, ptmp)); - apr_skiplist_set_compare(list, comp, compk); + apr_skiplist_set_compare(list, comp, comp); /* insert 10 objects */ for (i = 0; i < test_elems; ++i){ @@ -346,7 +348,7 @@ static void skiplist_test(abts_case *tc, ABTS_INT_EQUAL(tc, *val, 142); ABTS_INT_EQUAL(tc, APR_SUCCESS, apr_skiplist_init(&list2, ptmp)); - apr_skiplist_set_compare(list2, scomp, scompk); + apr_skiplist_set_compare(list2, scomp, scomp); add_elem_to_skiplist(list2, t2); add_elem_to_skiplist(list2, t1); add_elem_to_skiplist(list2, t3); @@ -367,6 +369,20 @@ static void skiplist_test(abts_case *tc, ABTS_INT_EQUAL(tc, val2->a, 142); ABTS_INT_EQUAL(tc, val2->b, 1); + ABTS_INT_EQUAL(tc, APR_SUCCESS, apr_skiplist_init(&list3, ptmp)); + apr_skiplist_set_compare(list3, acomp, acomp); + apr_skiplist_insert(list3, &t2); + val2 = apr_skiplist_find(list3, &t2, NULL); + ABTS_PTR_EQUAL(tc, &t2, val2); + apr_skiplist_insert(list3, &t3); + val2 = apr_skiplist_find(list3, &t3, NULL); + ABTS_PTR_EQUAL(tc, &t3, val2); + apr_skiplist_remove(list3, &t3, NULL); + val2 = apr_skiplist_find(list3, &t3, NULL); + ABTS_PTR_EQUAL(tc, NULL, val2); + apr_skiplist_remove(list3, &t2, NULL); + val2 = apr_skiplist_find(list3, &t2, NULL); + ABTS_PTR_EQUAL(tc, NULL, val2); apr_pool_clear(ptmp); }