From: Robert Varga Date: Thu, 13 Dec 2018 16:54:35 +0000 (+0100) Subject: Speed up CheckUtilTest X-Git-Tag: release/neon~72 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;h=4f597dc538a3cab3655cd782736f41aa7fec6ebe;p=bgpcep.git Speed up CheckUtilTest Waiting 200 seconds for a simple test is simply not acceptable. Refactor CheckUtil to expose a waitFutureSuccess() which takes a timeout and use that for testing the class. Change-Id: I951dd1f1357eb02360e239b0ba41c10db0bfde7f Signed-off-by: Robert Varga --- diff --git a/testtool-util/src/main/java/org/opendaylight/protocol/util/CheckUtil.java b/testtool-util/src/main/java/org/opendaylight/protocol/util/CheckUtil.java index 8edd0a147c..59ef100e09 100644 --- a/testtool-util/src/main/java/org/opendaylight/protocol/util/CheckUtil.java +++ b/testtool-util/src/main/java/org/opendaylight/protocol/util/CheckUtil.java @@ -7,13 +7,13 @@ */ package org.opendaylight.protocol.util; +import static com.google.common.base.Verify.verify; import static org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType.CONFIGURATION; import static org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType.OPERATIONAL; import com.google.common.annotations.VisibleForTesting; import com.google.common.base.Optional; import com.google.common.base.Stopwatch; -import com.google.common.base.Verify; import com.google.common.util.concurrent.Uninterruptibles; import io.netty.util.concurrent.Future; import java.util.concurrent.CountDownLatch; @@ -36,10 +36,15 @@ public final class CheckUtil { } public static > void waitFutureSuccess(final T future) { + waitFutureSuccess(future, SLEEP_FOR, TimeUnit.SECONDS); + } + + @VisibleForTesting + static > void waitFutureSuccess(final T future, final long timeout, final TimeUnit unit) { final CountDownLatch latch = new CountDownLatch(1); future.addListener(future1 -> latch.countDown()); - Uninterruptibles.awaitUninterruptibly(latch, SLEEP_FOR, TimeUnit.SECONDS); - Verify.verify(future.isSuccess()); + Uninterruptibles.awaitUninterruptibly(latch, timeout, unit); + verify(future.isSuccess()); } public static R readDataOperational(final DataBroker dataBroker, diff --git a/testtool-util/src/test/java/org/opendaylight/protocol/util/CheckUtilTest.java b/testtool-util/src/test/java/org/opendaylight/protocol/util/CheckUtilTest.java index 638e34248d..478720e1fb 100644 --- a/testtool-util/src/test/java/org/opendaylight/protocol/util/CheckUtilTest.java +++ b/testtool-util/src/test/java/org/opendaylight/protocol/util/CheckUtilTest.java @@ -27,6 +27,7 @@ import com.google.common.base.VerifyException; import io.netty.channel.ChannelFuture; import io.netty.util.concurrent.GenericFutureListener; import java.util.concurrent.ExecutionException; +import java.util.concurrent.TimeUnit; import org.junit.Assert; import org.junit.Before; import org.junit.Test; @@ -64,7 +65,7 @@ public class CheckUtilTest extends AbstractConcurrentDataBrokerTest { public void testWaitFutureSuccessFail() { when(this.future.isDone()).thenReturn(false); doReturn(this.future).when(this.future).addListener(any()); - waitFutureSuccess(this.future); + waitFutureSuccess(this.future, 10L, TimeUnit.MILLISECONDS); } @Test