@Test
  public void statusShouldAwaitTimeoutWhileFileIsEmpty() throws Exception {
    // given: FileProcessController with empty pidFile
    FileProcessController controller = new FileProcessController(params, pid, 10, MILLISECONDS);

    // when:
    Throwable thrown = catchThrowable(controller::status);

    // then: we expect TimeoutException to be thrown
    assertThat(thrown).isInstanceOf(TimeoutException.class)
        .hasMessageContaining("Timed out waiting for process to create").hasNoCause();
  }
Integration tests for {@link FileProcessController}.

<p>
This test shows one of the more appropriate uses of ErrorCollector Rule -- catching any failed
assertions in another thread that isn't the main JUnit thread.
geode-core/src/integrationTest/java/org/apache/geode/internal/process/FileProcessControllerIntegrationTest.java