You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@zookeeper.apache.org by ca...@apache.org on 2012/03/02 03:44:21 UTC
svn commit: r1296035 - in /zookeeper/trunk: CHANGES.txt
src/java/test/org/apache/zookeeper/test/AuthTest.java
Author: camille
Date: Fri Mar 2 02:44:20 2012
New Revision: 1296035
URL: http://svn.apache.org/viewvc?rev=1296035&view=rev
Log:
ZOOKEEPER-1354: AuthTest.testBadAuthThenSendOtherCommands fails intermittently (phunt via camille)
Modified:
zookeeper/trunk/CHANGES.txt
zookeeper/trunk/src/java/test/org/apache/zookeeper/test/AuthTest.java
Modified: zookeeper/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/zookeeper/trunk/CHANGES.txt?rev=1296035&r1=1296034&r2=1296035&view=diff
==============================================================================
--- zookeeper/trunk/CHANGES.txt (original)
+++ zookeeper/trunk/CHANGES.txt Fri Mar 2 02:44:20 2012
@@ -576,6 +576,8 @@ BUGFIXES:
quorum formed, no serving. (Flavio, Camille and Alexander Shraer via mahadev)
ZOOKEEPER-1299. Add winconfig.h file to ignore in release audit. (mahadev)
+
+ ZOOKEEPER-1354. AuthTest.testBadAuthThenSendOtherCommands fails intermittently (phunt via camille)
IMPROVEMENTS:
ZOOKEEPER-724. Improve junit test integration - log harness information
Modified: zookeeper/trunk/src/java/test/org/apache/zookeeper/test/AuthTest.java
URL: http://svn.apache.org/viewvc/zookeeper/trunk/src/java/test/org/apache/zookeeper/test/AuthTest.java?rev=1296035&r1=1296034&r2=1296035&view=diff
==============================================================================
--- zookeeper/trunk/src/java/test/org/apache/zookeeper/test/AuthTest.java (original)
+++ zookeeper/trunk/src/java/test/org/apache/zookeeper/test/AuthTest.java Fri Mar 2 02:44:20 2012
@@ -19,15 +19,16 @@
package org.apache.zookeeper.test;
import java.io.IOException;
-import java.util.concurrent.atomic.AtomicInteger;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.TimeUnit;
import org.apache.zookeeper.CreateMode;
import org.apache.zookeeper.KeeperException;
import org.apache.zookeeper.TestableZooKeeper;
import org.apache.zookeeper.WatchedEvent;
-import org.apache.zookeeper.ZooKeeper;
import org.apache.zookeeper.Watcher.Event.KeeperState;
import org.apache.zookeeper.ZooDefs.Ids;
+import org.apache.zookeeper.ZooKeeper;
import org.junit.Assert;
import org.junit.Test;
@@ -39,8 +40,8 @@ public class AuthTest extends ClientBase
System.setProperty("zookeeper.authProvider.1", "org.apache.zookeeper.test.InvalidAuthProvider");
}
- private AtomicInteger authFailed = new AtomicInteger(0);
-
+ private final CountDownLatch authFailed = new CountDownLatch(1);
+
@Override
protected TestableZooKeeper createClient(String hp)
throws IOException, InterruptedException
@@ -53,7 +54,7 @@ public class AuthTest extends ClientBase
@Override
public synchronized void process(WatchedEvent event) {
if (event.getState() == KeeperState.AuthFailed) {
- authFailed.incrementAndGet();
+ authFailed.countDown();
}
else {
super.process(event);
@@ -69,8 +70,11 @@ public class AuthTest extends ClientBase
zk.getData("/path1", false, null);
Assert.fail("Should get auth state error");
} catch(KeeperException.AuthFailedException e) {
- Assert.assertEquals("Should have called my watcher",
- 1, authFailed.get());
+ if(!authFailed.await(CONNECTION_TIMEOUT,
+ TimeUnit.MILLISECONDS))
+ {
+ Assert.fail("Should have called my watcher");
+ }
}
finally {
zk.close();
@@ -86,8 +90,11 @@ public class AuthTest extends ClientBase
zk.getData("/path1", false, null);
Assert.fail("Should get auth state error");
} catch(KeeperException.AuthFailedException e) {
- Assert.assertEquals("Should have called my watcher",
- 1, authFailed.get());
+ if(!authFailed.await(CONNECTION_TIMEOUT,
+ TimeUnit.MILLISECONDS))
+ {
+ Assert.fail("Should have called my watcher");
+ }
}
finally {
zk.close();