Skip to content

Instantly share code, notes, and snippets.

@tobias
Created November 6, 2013 16:35
Show Gist options
  • Save tobias/7339456 to your computer and use it in GitHub Desktop.
Save tobias/7339456 to your computer and use it in GitHub Desktop.
diff --git a/vertx-testsuite/src/test/java/vertx/tests/core/datagram/TestClient.java b/vertx-testsuite/src/test/java/vertx/tests/core/datagram/TestClient.java
index dcbac0c..953dc2d 100644
--- a/vertx-testsuite/src/test/java/vertx/tests/core/datagram/TestClient.java
+++ b/vertx-testsuite/src/test/java/vertx/tests/core/datagram/TestClient.java
@@ -29,6 +29,7 @@ import org.vertx.java.testframework.TestUtils;
import java.net.*;
import java.util.Enumeration;
import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.concurrent.atomic.AtomicInteger;
/**
* @author <a href="mailto:nmaurer@redhat.com">Norman Maurer</a>
@@ -421,6 +422,7 @@ public class TestClient extends TestClientBase {
public void testMulticastJoinLeave() throws Exception {
final Buffer buffer = TestUtils.generateRandomBuffer(128);
final String groupAddress = "230.0.0.1";
+ final AtomicInteger receivedCount = new AtomicInteger(0);
peer1 = vertx.createDatagramSocket(null);
peer2 = vertx.createDatagramSocket(InternetProtocolFamily.IPv4);
@@ -430,6 +432,7 @@ public class TestClient extends TestClientBase {
public void handle(DatagramPacket event) {
tu.checkThread();
tu.azzert(event.data().equals(buffer));
+ receivedCount.getAndIncrement();
}
});
@@ -455,12 +458,11 @@ public class TestClient extends TestClientBase {
public void handle(AsyncResult<DatagramSocket> event) {
tu.azzert(event.succeeded());
- final AtomicBoolean received = new AtomicBoolean(false);
peer2.dataHandler(new Handler<DatagramPacket>() {
@Override
public void handle(DatagramPacket event) {
// Should not receive any more event as it left the group
- received.set(true);
+ receivedCount.getAndIncrement();
}
});
peer1.send(buffer, groupAddress, 1234, new AsyncResultHandler<DatagramSocket>() {
@@ -473,7 +475,8 @@ public class TestClient extends TestClientBase {
vertx.setTimer(1000, new Handler<Long>() {
@Override
public void handle(Long event) {
- tu.azzert(!received.get());
+ System.out.println("receivedCount is " + receivedCount.get());
+ tu.azzert(receivedCount.get() == 1);
tu.testComplete();
}
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment