@Test(expected = TestException.class)
public void testExceptionPropagation() throws Exception {

  Callables.executeWithRetry(new TimeoutCallable<Integer, TestException>(60000) {
    @Override
    public Integer call(final long deadline) throws TestException {
      throw new TestException();
    }
  }, 3, 10, TestException.class);
}