From 8dbda1f9c975edcae24b0724ca53ec2cda7645b3 Mon Sep 17 00:00:00 2001 From: Kirill Likhodedov Date: Sun, 25 May 2014 16:03:56 +0400 Subject: [PATCH] [vcs] Log executable validation failure reason --- .../intellij/execution/ExecutableValidator.java | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/platform/platform-impl/src/com/intellij/execution/ExecutableValidator.java b/platform/platform-impl/src/com/intellij/execution/ExecutableValidator.java index 79e76f0615e1..0a249c54cc8d 100644 --- a/platform/platform-impl/src/com/intellij/execution/ExecutableValidator.java +++ b/platform/platform-impl/src/com/intellij/execution/ExecutableValidator.java @@ -90,9 +90,22 @@ public abstract class ExecutableValidator { commandLine.setExePath(executable); CapturingProcessHandler handler = new CapturingProcessHandler(commandLine.createProcess(), CharsetToolkit.getDefaultSystemCharset()); ProcessOutput result = handler.runProcess(60 * 1000); - return !result.isTimeout() && (result.getExitCode() == 0) && result.getStderr().isEmpty(); + boolean timeout = result.isTimeout(); + int exitCode = result.getExitCode(); + String stderr = result.getStderr(); + if (timeout) { + LOG.warn("Validation of " + executable + " failed with a timeout"); + } + if (exitCode != 0) { + LOG.warn("Validation of " + executable + " failed with non-zero exit code: " + exitCode); + } + if (!stderr.isEmpty()) { + LOG.warn("Validation of " + executable + " failed with a non-empty error output: " + stderr); + } + return !timeout && exitCode == 0 && stderr.isEmpty(); } - catch (Throwable ignored) { + catch (Throwable t) { + LOG.warn(t); return false; } }