mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
debugging unresponsive p4 server in tests
This commit is contained in:
+2
-11
@@ -19,10 +19,9 @@ import com.intellij.execution.process.CapturingProcessHandler;
|
||||
import com.intellij.execution.process.ProcessOutput;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.util.SystemInfo;
|
||||
import com.intellij.openapi.util.io.StreamUtil;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.openapi.vfs.CharsetToolkit;
|
||||
import com.intellij.util.ExceptionUtil;
|
||||
import com.intellij.util.EnvironmentUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
@@ -108,15 +107,7 @@ public class TestClientRunner {
|
||||
}
|
||||
|
||||
if (result.isTimeout()) {
|
||||
String diagnostics = "none";
|
||||
try {
|
||||
Process p = Runtime.getRuntime().exec(SystemInfo.isWindows ? System.getenv("windir") +"\\system32\\tasklist.exe /v" : "ps a");
|
||||
diagnostics = StreamUtil.readText(p.getInputStream());
|
||||
}
|
||||
catch (IOException e) {
|
||||
diagnostics = ExceptionUtil.getThrowableText(e);
|
||||
}
|
||||
throw new RuntimeException("Timeout waiting for VCS client to finish execution:\n" + diagnostics);
|
||||
throw new RuntimeException("Timeout waiting for VCS client to finish execution:\n" + EnvironmentUtil.getProcessList());
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -23,6 +23,7 @@ import com.intellij.openapi.util.AtomicNotNullLazyValue;
|
||||
import com.intellij.openapi.util.NotNullLazyValue;
|
||||
import com.intellij.openapi.util.SystemInfo;
|
||||
import com.intellij.openapi.util.io.FileUtil;
|
||||
import com.intellij.openapi.util.io.StreamUtil;
|
||||
import com.intellij.openapi.util.registry.Registry;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.util.concurrency.FixedFuture;
|
||||
@@ -33,6 +34,7 @@ import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.annotations.TestOnly;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.Callable;
|
||||
import java.util.concurrent.ExecutorService;
|
||||
@@ -203,6 +205,18 @@ public class EnvironmentUtil {
|
||||
return Collections.unmodifiableMap(newEnv);
|
||||
}
|
||||
|
||||
public static String getProcessList() {
|
||||
String diagnostics;
|
||||
try {
|
||||
Process p = Runtime.getRuntime().exec(SystemInfo.isWindows ? System.getenv("windir") +"\\system32\\tasklist.exe /v" : "ps a");
|
||||
diagnostics = StreamUtil.readText(p.getInputStream());
|
||||
}
|
||||
catch (IOException e) {
|
||||
diagnostics = ExceptionUtil.getThrowableText(e);
|
||||
}
|
||||
return diagnostics;
|
||||
}
|
||||
|
||||
private static class ProcessKiller {
|
||||
private final Process myProcess;
|
||||
private final Object myWaiter = new Object();
|
||||
|
||||
Reference in New Issue
Block a user