public File getGeodeHome() {
    String geodeHomePath = System.getenv("GEODE_HOME");
    assertThat(geodeHomePath)
        .withFailMessage(GEODE_HOME_NOT_SET_MESSAGE)
        .isNotNull();

    File geodeHome = new File(geodeHomePath);
    assertThat(geodeHome)
        .exists()
        .isDirectoryContaining(file -> file.getName().startsWith("bin"));

    return geodeHome;
  }
This {@code Rule} is used to indicate tests that require the GEODE_HOME environment varible to be
set. (For example, any test that relies on the assembled Pulse WAR or GFSH binary.)
geode-junit/src/main/java/org/apache/geode/test/junit/rules/RequiresGeodeHome.java