@Test
    public void failureLeadsToFailure() throws InterruptedException {
        TestRunner runner = new TestRunner(artifactsPath, testPath, configFile, settingsFile,
                                           __ -> new ProcessBuilder("false"));
        runner.test(SYSTEM_TEST, new byte[0]);
        while (runner.getStatus() == TestRunner.Status.RUNNING) {
            Thread.sleep(10);
        }
        assertEquals(1, runner.getLog(-1).size());
        assertEquals(TestRunner.Status.FAILURE, runner.getStatus());
    }
Unit tests relying on a UNIX shell >_<

@author jvenstad
vespa-testrunner-components/src/test/java/com/yahoo/vespa/hosted/testrunner/TestRunnerTest.java