From 0fefc2c9cf93ecbf28c06c7f544061fc042ffeec Mon Sep 17 00:00:00 2001 From: Anna Kozlova Date: Tue, 7 Sep 2010 19:12:51 +0400 Subject: [PATCH] CME --- .../junit2/ui/TestsPacketsReceiver.java | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/plugins/junit/src/com/intellij/execution/junit2/ui/TestsPacketsReceiver.java b/plugins/junit/src/com/intellij/execution/junit2/ui/TestsPacketsReceiver.java index ae364d2247c9..fffc5e5760c4 100644 --- a/plugins/junit/src/com/intellij/execution/junit2/ui/TestsPacketsReceiver.java +++ b/plugins/junit/src/com/intellij/execution/junit2/ui/TestsPacketsReceiver.java @@ -68,7 +68,7 @@ public class TestsPacketsReceiver implements PacketProcessor, Disposable { private final InputObjectRegistry myObjectRegistry; - private Set myCurrentTests = new HashSet(); + private final Set myCurrentTests = new HashSet(); private boolean myIsTerminated = false; private JUnitRunningModel myModel; private final JUnitConsoleProperties myConsoleProperties; @@ -81,7 +81,9 @@ public class TestsPacketsReceiver implements PacketProcessor, Disposable { } public Set getCurrentTests() { - return new HashSet(myCurrentTests); + synchronized (myCurrentTests) { + return new HashSet(myCurrentTests); + } } public void processPacket(final String packet) { @@ -125,7 +127,9 @@ public class TestsPacketsReceiver implements PacketProcessor, Disposable { public void notifyTestStart(ObjectReader reader) { final TestProxy testProxy = reader.readObject(); - myCurrentTests.add(testProxy); + synchronized (myCurrentTests) { + myCurrentTests.add(testProxy); + } final JUnitRunningModel model = getModel(); if (model != null && testProxy.getParent() == null && model.getRoot() != testProxy) { getDynamicParent(model, testProxy).addChild(testProxy); @@ -161,7 +165,9 @@ public class TestsPacketsReceiver implements PacketProcessor, Disposable { public void notifyTestResult(ObjectReader reader) { final TestProxy testProxy = reader.readObject(); - myCurrentTests.remove(testProxy); + synchronized (myCurrentTests) { + myCurrentTests.remove(testProxy); + } final int state = reader.readInt(); final StateChanger stateChanger = STATE_CLASSES.get(new Integer(state)); stateChanger.changeStateOf(testProxy, reader); @@ -169,7 +175,9 @@ public class TestsPacketsReceiver implements PacketProcessor, Disposable { public void notifyFinish(ObjectReader reader) { myIsTerminated = true; - myCurrentTests.clear(); + synchronized (myCurrentTests) { + myCurrentTests.clear(); + } final JUnitRunningModel model = getModel(); if (model != null) { model.getNotifier().fireRunnerStateChanged(new CompletionEvent(true, reader.readInt()));