@Override public void run() { try { Thread.sleep(ASYNC_WAIT_AMOUNT); } catch (InterruptedException e) { // let thread exit return; } verifier.assertTrue(false); } }).start();
@Test public void assertTrueTest() { verifier.assertTrue(true); }
@Test (expected = RuntimeException.class) public void assertTrueFail() { verifier.assertTrue(false); }
@Override public void handleRunFinish() { long startTime = System.currentTimeMillis(); Thread currentThread = Thread.currentThread(); while (System.currentTimeMillis() - startTime < taskRunTime && ! currentThread.isInterrupted()) { // spin } interruptSentAV.assertTrue(currentThread.isInterrupted()); interruptSentAV.signalComplete(); } };
@Override public void run() { av.assertTrue(f.isDone()); Iterator<? extends ListenableFuture<?>> it = futures.iterator(); while (it.hasNext()) { av.assertTrue(it.next().isDone()); } av.signalComplete(); } });
@Override public void handleRunStart() { if (fLastRun != null) { av.assertTrue(fLastRun.ranOnce()); } av.signalComplete(); } };
@Override public void handleRunStart() { if (fLastRun != null) { av.assertTrue(fLastRun.ranOnce()); } av.signalComplete(); } };
@Override public void handleRunStart() { if (fLastRun != null) { av.assertTrue(fLastRun.ranOnce()); } av.signalComplete(); } };
@Override public void handleRunStart() { // even submitted (and thus wrapped in a future), we should get our direct reference av.assertTrue(scheduler.getLongRunningTasks(-1).get(0).getLeft() == this); av.signalComplete(); } });
@Test public void computationPoolThreadRenamedTest() throws InterruptedException, TimeoutException { final String threadName = StringUtils.makeRandomString(5); AsyncVerifier av = new AsyncVerifier(); CentralThreadlyPool.computationPool(threadName).execute(() -> { av.assertTrue(Thread.currentThread().getName().startsWith(threadName)); av.signalComplete(); }); av.waitForTest(); }
public static void optimizeDoneListenerExecutorTest(ListenableFuture<?> lf) throws InterruptedException, TimeoutException { AsyncVerifier av = new AsyncVerifier(); Thread t = Thread.currentThread(); lf.addListener(() -> {av.assertTrue(Thread.currentThread() == t) ; av.signalComplete();}, CentralThreadlyPool.computationPool(), ListenerOptimizationStrategy.SingleThreadIfExecutorMatchOrDone); av.waitForTest(); }
@Test public void threadPoolRenamedTest() throws InterruptedException, TimeoutException { final String threadName = StringUtils.makeRandomString(5); AsyncVerifier av = new AsyncVerifier(); CentralThreadlyPool.threadPool(2, threadName).execute(() -> { av.assertTrue(Thread.currentThread().getName().startsWith(threadName)); av.signalComplete(); }); av.waitForTest(); }
@Test public void rangedThreadPoolThreadRenamedTest() throws InterruptedException, TimeoutException { final String threadName = StringUtils.makeRandomString(5); AsyncVerifier av = new AsyncVerifier(); CentralThreadlyPool.rangedThreadPool(0, 1, threadName).execute(() -> { av.assertTrue(Thread.currentThread().getName().startsWith(threadName)); av.signalComplete(); }); av.waitForTest(); }
@Test public void lowPriorityRenamedTest() throws InterruptedException, TimeoutException { final String threadName = StringUtils.makeRandomString(5); AsyncVerifier av = new AsyncVerifier(); CentralThreadlyPool.lowPriorityPool(threadName).execute(() -> { av.assertTrue(Thread.currentThread().getName().startsWith(threadName)); av.signalComplete(); }); av.waitForTest(); }
@Test public void lowPrioritySingleThreadRenamedTest() throws InterruptedException, TimeoutException { final String threadName = StringUtils.makeRandomString(5); AsyncVerifier av = new AsyncVerifier(); CentralThreadlyPool.lowPrioritySingleThreadPool(threadName).execute(() -> { av.assertTrue(Thread.currentThread().getName().startsWith(threadName)); av.signalComplete(); }); av.waitForTest(); }
@Test public void singleThreadRenamedTest() throws InterruptedException, TimeoutException { final String threadName = StringUtils.makeRandomString(5); AsyncVerifier av = new AsyncVerifier(); CentralThreadlyPool.singleThreadPool(false, threadName).execute(() -> { av.assertTrue(Thread.currentThread().getName().startsWith(threadName)); av.signalComplete(); }); av.waitForTest(); }
@Test public void threadRenamedTest() throws InterruptedException, TimeoutException { SubmitterExecutorFactory schedulerFactory = getSubmitterExecutorFactory(); try { AsyncVerifier av = new AsyncVerifier(); schedulerFactory.makeSubmitterExecutor(1, false).execute(() -> { av.assertTrue(Thread.currentThread().getName().startsWith(THREAD_NAME)); av.signalComplete(); }); av.waitForTest(); } finally { schedulerFactory.shutdown(); } }
@Override public void run() { if (runIndex >= 0) { // verify they ran ahead of us av.assertTrue(testRunnables[runIndex].ranOnce()); } if (++runIndex < testRunnables.length) { scheduler.execute(testRunnables[runIndex]); } else { // we are done // remove task so .tick can unblock scheduler.remove(this); av.signalComplete(); } } };
@Test public void threadRenamedTest() throws InterruptedException, TimeoutException { SubmitterSchedulerFactory schedulerFactory = getSubmitterSchedulerFactory(); try { AsyncVerifier av = new AsyncVerifier(); schedulerFactory.makeSubmitterExecutor(1, false).execute(() -> { av.assertTrue(Thread.currentThread().getName().startsWith(THREAD_NAME)); av.signalComplete(); }); av.waitForTest(); } finally { schedulerFactory.shutdown(); } }
@Test public void threadRenamedTest() throws InterruptedException, TimeoutException { SubmitterSchedulerFactory schedulerFactory = getSubmitterSchedulerFactory(); try { AsyncVerifier av = new AsyncVerifier(); schedulerFactory.makeSubmitterExecutor(1, false).execute(() -> { av.assertTrue(Thread.currentThread().getName().startsWith(THREAD_NAME)); av.signalComplete(); }); av.waitForTest(); } finally { schedulerFactory.shutdown(); } }