@Test
public void testFailFastCallRevertSuppressed() throws Throwable {

  assertFailed(builder()
          .stopOnFailure()
          .revertWith(reverter)
          .abortWith(aborter)
          .suppressExceptions()
          .onFailure(failures),
      failingTask);
  failingTask.assertInvokedAtLeast("success", FAILPOINT);
  if (!isParallel()) {
    aborter.assertInvokedAtLeast("abort", 1);
    // all uncommitted items were aborted
    items.stream().filter(i -> !i.committed)
        .filter(i -> !i.failed)
        .forEach(Item::assertAborted);
  }
  // all committed were reverted
  items.stream().filter(i -> i.committed && !i.failed)
      .forEach(Item::assertReverted);
  // all reverted items are committed
  items.stream().filter(i -> i.reverted)
      .forEach(Item::assertCommitted);
  // only one failure was triggered
  failures.assertInvoked("failure event", 1);
}