Ejemplo n.º 1
0
  @Test
  public void testCheckpointCallsInOrder() {
    try {
      Task task = createTask();
      task.startTaskThread();

      awaitLatch.await();

      for (int i = 1; i <= NUM_CALLS; i++) {
        task.triggerCheckpointBarrier(i, 156865867234L);
      }

      triggerLatch.await();

      assertFalse(task.isCanceledOrFailed());

      ExecutionState currentState = task.getExecutionState();
      if (currentState != ExecutionState.RUNNING && currentState != ExecutionState.FINISHED) {
        fail("Task should be RUNNING or FINISHED, but is " + currentState);
      }

      task.cancelExecution();
      task.getExecutingThread().join();
    } catch (Exception e) {
      e.printStackTrace();
      fail(e.getMessage());
    }
  }