You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@zookeeper.apache.org by "Andrew Purtell (JIRA)" <ji...@apache.org> on 2014/03/23 21:08:42 UTC

[jira] [Created] (ZOOKEEPER-1901) [JDK8] Sort children for comparison in AsyncOps tests

Andrew Purtell created ZOOKEEPER-1901:
-----------------------------------------

             Summary: [JDK8] Sort children for comparison in AsyncOps tests
                 Key: ZOOKEEPER-1901
                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1901
             Project: ZooKeeper
          Issue Type: Bug
            Reporter: Andrew Purtell


AsyncOpsTest, ChrootAsyncTest, and NioNettySuiteTest can fail running on Java 8 if child znodes are not added to a list in the same order as expected. 

For example

{noformat}
Testcase: testAsyncGetChildrenTwo took 0.166 sec
        FAILED
expected:<OK:/foo:[child[1, child2]]> but was:<OK:/foo:[child[2, child1]]>
junit.framework.AssertionFailedError: expected:<OK:/foo:[child[1, child2]]> but was:<OK:/foo:[child[2, child1]]>
        at org.apache.zookeeper.test.AsyncOps$AsyncCB.verify(AsyncOps.java:113)
        at org.apache.zookeeper.test.AsyncOps$ChildrenCB.verify(AsyncOps.java:298)
        at org.apache.zookeeper.test.AsyncOps$ChildrenCB.verifyGetChildrenTwo(AsyncOps.java:287)
        at org.apache.zookeeper.test.AsyncOpsTest.testAsyncGetChildrenTwo(AsyncOpsTest.java:155)
        at org.apache.zookeeper.JUnit4ZKTestRunner$LoggedInvokeMethod.evaluate(JUnit4ZKTestRunner.java:52)
{noformat}

{noformat}
Testcase: testAsyncGetChildren2Two took 0.154 sec
        FAILED
expected:<OK:/foo:[child[1, child2]]> but was:<OK:/foo:[child[2, child1]]>
junit.framework.AssertionFailedError: expected:<OK:/foo:[child[1, child2]]> but was:<OK:/foo:[child[2, child1]]>
        at org.apache.zookeeper.test.AsyncOps$AsyncCB.verify(AsyncOps.java:113)
        at org.apache.zookeeper.test.AsyncOps$Children2CB.verify(AsyncOps.java:383)
        at org.apache.zookeeper.test.AsyncOps$Children2CB.verifyGetChildrenTwo(AsyncOps.java:372)
        at org.apache.zookeeper.test.AsyncOpsTest.testAsyncGetChildren2Two(AsyncOpsTest.java:175)
	at org.apache.zookeeper.JUnit4ZKTestRunner$LoggedInvokeMethod.evaluate(JUnit4ZKTestRunner.java:52)
{noformat}

This seems like a test only issue because getChildren javadoc says "The list of children returned is not sorted and no guarantee is provided as to its natural or lexical order." So, fix the tests by sorting the incoming lists. 



--
This message was sent by Atlassian JIRA
(v6.2#6252)