/** * {@inheritDoc} */ @Override public boolean await(long time, TimeUnit unit) throws InterruptedException { return _task.await(time, unit); }
/** * {@inheritDoc} */ @Override public void await() throws InterruptedException { _task.await(); }
/** * {@inheritDoc} */ @Override public boolean await(long time, TimeUnit unit) throws InterruptedException { return _task.await(time, unit); }
/** * {@inheritDoc} */ @Override public void await() throws InterruptedException { _task.await(); }
/** * {@inheritDoc} */ @Override public boolean await(long time, TimeUnit unit) throws InterruptedException { return _task.await(time, unit); }
/** * {@inheritDoc} */ @Override public void await() throws InterruptedException { _task.await(); }
/** * {@inheritDoc} */ @Override public void await() throws InterruptedException { _task.await(); }
/** * {@inheritDoc} */ @Override public void await() throws InterruptedException { _task.await(); }
/** * {@inheritDoc} */ @Override public void await() throws InterruptedException { _task.await(); }
/** * {@inheritDoc} */ @Override public boolean await(long time, TimeUnit unit) throws InterruptedException { return _task.await(time, unit); }
/** * {@inheritDoc} */ @Override public boolean await(long time, TimeUnit unit) throws InterruptedException { return _task.await(time, unit); }
/** * {@inheritDoc} */ @Override public boolean await(long time, TimeUnit unit) throws InterruptedException { return _task.await(time, unit); }
/** * {@inheritDoc} */ @Override public void await() throws InterruptedException { _task.await(); }
/** * {@inheritDoc} */ @Override public void await() throws InterruptedException { _task.await(); }
@Override public void run() { engine.run(task); try { assertTrue(task.await(5, TimeUnit.SECONDS)); } catch (InterruptedException e) { // Ignore. } } });
@Test public void testRunWithSyncError() throws InterruptedException { final Exception exception = new Exception(); final Task<String> task = Task.callable("task", () -> { throw exception; } ); runTask(task); assertTrue(task.await(5, TimeUnit.SECONDS)); assertFailed(task, exception); }
@Test public void testToTryCancelled() throws InterruptedException { Task<String> cancelMain = delayedValue("value", 6000, TimeUnit.MILLISECONDS); Task<Try<String>> task = cancelMain.toTry(); run(task); assertTrue(cancelMain.cancel(new Exception("canceled"))); task.await(); assertTrue(task.isDone()); assertTrue(task.isFailed()); assertTrue(Exceptions.isCancellation(task.getError())); logTracingResults("AbstractTaskTest.testToTryCancelled", task); }
public void testWithSideEffectFullCompletion(int expectedNumberOfTasks) throws Exception { Task<String> fastMain = getSuccessTask(); Task<String> slowSideEffect = delayedValue("slow", 50, TimeUnit.MILLISECONDS); Task<String> full = fastMain.withSideEffect(s -> slowSideEffect); // ensure the side effect task will be run runAndWait("AbstractTaskTest.testWithSideEffectFullCompletion", full); slowSideEffect.await(); assertTrue(full.isDone()); assertTrue(fastMain.isDone()); assertTrue(slowSideEffect.isDone()); assertEquals(countTasks(full.getTrace()), expectedNumberOfTasks); }
@Test public void testCancelAfterDone() throws InterruptedException { final String result = "result"; final Task<String> task = Task.callable("task", () -> result); runTask(task); assertTrue(task.await(5, TimeUnit.SECONDS)); assertDone(task, result); assertFalse(task.cancel(new Exception())); assertDone(task, result); }
@Test public void testShutdownThenRunTask() throws InterruptedException { _engine.shutdown(); final Task<String> task = Task.value("task executed"); _engine.run(task); // Task should be cancelled immediately assertTrue(task.await(50, TimeUnit.MILLISECONDS)); assertTrue(task.isFailed()); }