diff --git a/src/fitnesse/testsystems/CommandRunner.java b/src/fitnesse/testsystems/CommandRunner.java index 4e72d58161..93ec64b284 100644 --- a/src/fitnesse/testsystems/CommandRunner.java +++ b/src/fitnesse/testsystems/CommandRunner.java @@ -31,6 +31,7 @@ public class CommandRunner { private Map environmentVariables; private final int timeout; private final ExecutionLogListener executionLogListener; + private String commandErrorMessage = ""; /** * @@ -79,6 +80,7 @@ public void write(String output) { @Override public void write(String output) { executionLogListener.stdErr(output); + commandErrorMessage = output; } }), "CommandRunner stdErr").start(); @@ -231,4 +233,8 @@ public int waitForCommandToFinish() throws InterruptedException { private interface OutputWriter { void write(String output); } + + public String getCommandErrorMessage() { + return commandErrorMessage; + } } \ No newline at end of file diff --git a/src/fitnesse/testsystems/slim/SlimCommandRunningClient.java b/src/fitnesse/testsystems/slim/SlimCommandRunningClient.java index 3183543832..0820ea048f 100644 --- a/src/fitnesse/testsystems/slim/SlimCommandRunningClient.java +++ b/src/fitnesse/testsystems/slim/SlimCommandRunningClient.java @@ -90,7 +90,8 @@ public void connect() throws IOException { LOG.finest("Trying to connect to host: " + hostName + " on port: " + port + " SSL=" + useSSL + " timeout setting: " + connectionTimeout); while (client == null) { if (slimRunner != null && slimRunner.isDead()) { - throw new SlimError("Error SLiM server died before a connection could be established."); + final String slimErrorMessage = "Error SLiM server died before a connection could be established. "+slimRunner.getCommandErrorMessage(); + throw new SlimError("Error SLiM server died before a connection could be established."); } try { client = SocketFactory.tryCreateClientSocket(hostName, port, useSSL, sslParameterClassName);