@Test
  public void testInvokeMainWithMainLauncherWithNoArgs() throws Exception {
    Future<Boolean> future = executorServiceRule.submit(() -> {
      Class<?> clazz = MainLauncher.class;
      Method mainMethod = clazz.getMethod("main", String[].class);
      String[] args = new String[] {launchedClass};
      // this will block until "\n" is fed to System.in
      mainMethod.invoke(null, new Object[] {args});
      return true;
    });
    systemInMock.provideText("\n");
    assertTrue(future.get(TIMEOUT_SECONDS, TimeUnit.SECONDS));
    assertTrue(flag);
  }
Quick sanity tests to make sure MainLauncher is functional.
geode-core/src/test/java/org/apache/geode/test/process/MainLauncherJUnitTest.java