package org.wikipedia.testlib; import java.util.concurrent.CountDownLatch; public class TestLatch { private final CountDownLatch latch; public TestLatch() { this(1); } public TestLatch(int count) { latch = new CountDownLatch(count); } public long getCount() { return latch.getCount(); } public void countDown() { latch.countDown(); } public void await() { boolean done = false; try { done = latch.await(TestConstants.TIMEOUT_DURATION, TestConstants.TIMEOUT_UNIT); } catch (InterruptedException ignore) { } if (!done) { throw new RuntimeException("Timeout elapsed."); } } }