From bedaf6c81aa7938115720bbbec114d7c66c142ae Mon Sep 17 00:00:00 2001 From: Roman Shevchenko Date: Fri, 27 Dec 2019 22:39:11 +0100 Subject: [PATCH] [platform] better `ProcessOutput#checkSuccess` diagnostic GitOrigin-RevId: 06077934bcdf25aedbea3ed528dd4801227220c0 --- .../execution/process/ProcessOutput.java | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/platform/platform-util-io/src/com/intellij/execution/process/ProcessOutput.java b/platform/platform-util-io/src/com/intellij/execution/process/ProcessOutput.java index b9c0cbcbb09d..d6579f3c836f 100644 --- a/platform/platform-util-io/src/com/intellij/execution/process/ProcessOutput.java +++ b/platform/platform-util-io/src/com/intellij/execution/process/ProcessOutput.java @@ -76,12 +76,21 @@ public class ProcessOutput { * @param logger where to put error information * @return true iff exit code is zero */ - public boolean checkSuccess(@NotNull final Logger logger) { - if (getExitCode() != 0 || isTimeout()) { - logger.info(getStderr() + (isTimeout()? "\nTimed out" : "\nExit code " + getExitCode())); - return false; + public boolean checkSuccess(@NotNull Logger logger) { + int ec = getExitCode(); + if (ec == 0 && !isTimeout()) { + return true; } - return true; + + logger.info(isTimeout() ? "Timed out" : "Exit code " + ec); + + String output = getStderr(); + if (output.isEmpty()) output = getStdout(); + if (!output.isEmpty()) { + logger.info(output); + } + + return false; } public void setExitCode(int exitCode) {