diff --git a/rse/tests/org.eclipse.rse.tests/src/org/eclipse/rse/tests/core/RSEWaitAndDispatchUtil.java b/rse/tests/org.eclipse.rse.tests/src/org/eclipse/rse/tests/core/RSEWaitAndDispatchUtil.java index 406cb4a8c77..67cdaef27a0 100644 --- a/rse/tests/org.eclipse.rse.tests/src/org/eclipse/rse/tests/core/RSEWaitAndDispatchUtil.java +++ b/rse/tests/org.eclipse.rse.tests/src/org/eclipse/rse/tests/core/RSEWaitAndDispatchUtil.java @@ -51,12 +51,12 @@ public final class RSEWaitAndDispatchUtil { assert timeout > 0; if (timeout > 0) { long start = System.currentTimeMillis(); - Display display = Display.findDisplay(Thread.currentThread()); + final Display display = Display.findDisplay(Thread.currentThread()); if (display != null) { // ok, we are running within a display thread --> keep the // display event dispatching running. long current = System.currentTimeMillis(); - while ((current - start) < timeout) { + while ((current - start) < timeout && !display.isDisposed()) { if (!display.readAndDispatch()) display.sleep(); current = System.currentTimeMillis(); } diff --git a/rse/tests/org.eclipse.rse.tests/src/org/eclipse/rse/tests/subsystems/testsubsystem/TestSubsystemTestCase.java b/rse/tests/org.eclipse.rse.tests/src/org/eclipse/rse/tests/subsystems/testsubsystem/TestSubsystemTestCase.java index 5fd1cf582b2..e3bf8f02451 100644 --- a/rse/tests/org.eclipse.rse.tests/src/org/eclipse/rse/tests/subsystems/testsubsystem/TestSubsystemTestCase.java +++ b/rse/tests/org.eclipse.rse.tests/src/org/eclipse/rse/tests/subsystems/testsubsystem/TestSubsystemTestCase.java @@ -203,6 +203,7 @@ public class TestSubsystemTestCase extends RSEBaseConnectionTestCase { RSEWaitAndDispatchUtil.waitAndDispatch(10000); } catch (Exception e) { + e.printStackTrace(); assertNull(e.getMessage(), e); } }