Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/BasicCEditorTest.java')
-rw-r--r--core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/BasicCEditorTest.java21
1 files changed, 19 insertions, 2 deletions
diff --git a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/BasicCEditorTest.java b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/BasicCEditorTest.java
index 16201e37244..7d190bef5df 100644
--- a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/BasicCEditorTest.java
+++ b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/BasicCEditorTest.java
@@ -65,6 +65,7 @@ import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.IEditorPart;
import org.eclipse.ui.IEditorRegistry;
import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.IWorkbenchPart;
import org.eclipse.ui.IWorkbenchWindow;
import org.eclipse.ui.PartInitException;
import org.eclipse.ui.PlatformUI;
@@ -122,6 +123,7 @@ public class BasicCEditorTest extends BaseUITestCase {
@Override
protected void setUp() throws Exception {
+ closeWelcome();
super.setUp();
}
@@ -442,6 +444,19 @@ public class BasicCEditorTest extends BaseUITestCase {
assertTrue(part instanceof CEditor);
}
+ public static void closeWelcome() {
+ try {
+ IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
+ IWorkbenchPage activePage = window.getActivePage();
+ IWorkbenchPart activePart = activePage.getActivePart();
+ if (activePart.getTitle().equals("Welcome")) {
+ activePart.dispose();
+ }
+ } catch (Exception e) {
+ // ignore
+ }
+ }
+
public void testLeakingInstanceAfterClose() throws Exception {
final String file = "/ceditor/src/main.cpp";
fCProject = EditorTestHelper.createCProject("ceditor", "resources/ceditor", false, false);
@@ -452,11 +467,13 @@ public class BasicCEditorTest extends BaseUITestCase {
EditorTestHelper.closeEditor(fEditor);
fEditor = null;
fSourceViewer = null;
- int ngc = 10;
- while (ref.get() != null && ngc-- > 0) {
+ int ngc = 0;
+ while (ref.get() != null && ngc++ < 100) {
System.gc();
EditorTestHelper.runEventQueue(200);
}
+ System.out
+ .println("BasicCEditorTest.testLeakingInstanceAfterClose took " + ngc + " iterations of loop to exit");
assertNull("CEditor instance seems to be leaking after close", ref.get());
}

Back to the top