junit: check termination after everything from queue was processed (IDEA-102067)

This commit is contained in:
anna
2013-02-28 15:04:45 +01:00
parent f00cc9d530
commit ce882aa8cc
2 changed files with 6 additions and 3 deletions
@@ -108,6 +108,10 @@ public class Extractor implements Disposable {
return new SegmentedInputStreamReader(myStream);
}
public void addRequest(Runnable runnable, final DeferredActionsQueue queue) {
myQueue.queue(new MyUpdate(runnable, queue, myOrder.incrementAndGet()));
}
private static class MyUpdate extends Update {
private final Runnable myRunnable;
private final DeferredActionsQueue myQueue;
@@ -62,7 +62,6 @@ import com.intellij.refactoring.listeners.RefactoringElementListener;
import com.intellij.rt.execution.junit.IDEAJUnitListener;
import com.intellij.rt.execution.junit.JUnitStarter;
import com.intellij.util.Function;
import com.intellij.util.IJSwingUtilities;
import com.intellij.util.PathUtil;
import org.jetbrains.annotations.NotNull;
@@ -303,7 +302,7 @@ public abstract class TestObject implements JavaCommandLine {
if (myListenersFile != null) {
FileUtil.delete(myListenersFile);
}
IJSwingUtilities.invoke(new Runnable() {
handler.getOut().addRequest(new Runnable() {
@Override
public void run() {
try {
@@ -318,7 +317,7 @@ public abstract class TestObject implements JavaCommandLine {
}
}
}
});
}, queue);
}
@Override