diff --git a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/BaseUITestCase.java b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/BaseUITestCase.java index 97013ed03f7..4b8f5dfa40a 100644 --- a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/BaseUITestCase.java +++ b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/BaseUITestCase.java @@ -29,11 +29,13 @@ import org.eclipse.swt.widgets.Tree; import org.eclipse.swt.widgets.TreeItem; import org.eclipse.ui.IEditorPart; import org.eclipse.ui.IViewPart; +import org.eclipse.ui.IWorkbench; import org.eclipse.ui.IWorkbenchPage; import org.eclipse.ui.IWorkbenchPartSite; import org.eclipse.ui.IWorkbenchWindow; import org.eclipse.ui.PartInitException; import org.eclipse.ui.PlatformUI; +import org.eclipse.ui.WorkbenchException; import org.eclipse.ui.handlers.IHandlerService; import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit; @@ -44,6 +46,7 @@ import org.eclipse.cdt.core.model.CModelException; import org.eclipse.cdt.core.model.ICProject; import org.eclipse.cdt.core.testplugin.util.BaseTestCase; import org.eclipse.cdt.core.testplugin.util.TestSourceReader; +import org.eclipse.cdt.ui.CUIPlugin; import org.eclipse.cdt.ui.testplugin.CTestPlugin; public class BaseUITestCase extends BaseTestCase { @@ -187,6 +190,12 @@ public class BaseUITestCase extends BaseTestCase { } } + protected void showCDTPerspective() throws WorkbenchException { + final IWorkbench workbench = PlatformUI.getWorkbench(); + workbench.showPerspective(CUIPlugin.ID_CPERSPECTIVE, workbench.getActiveWorkbenchWindow()); + runEventQueue(0); + } + protected IViewPart activateView(String id) throws PartInitException { IViewPart view= PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().showView(id); assertNotNull(view); diff --git a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/callhierarchy/CallHierarchyBugs.java b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/callhierarchy/CallHierarchyBugs.java index 5770d9e1aaf..885719a22e0 100644 --- a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/callhierarchy/CallHierarchyBugs.java +++ b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/callhierarchy/CallHierarchyBugs.java @@ -20,8 +20,8 @@ import org.eclipse.swt.widgets.Tree; import org.eclipse.ui.IPageLayout; import org.eclipse.ui.IViewPart; import org.eclipse.ui.IWorkbenchPage; -import org.eclipse.ui.PartInitException; import org.eclipse.ui.PlatformUI; +import org.eclipse.ui.WorkbenchException; import org.eclipse.ui.ide.IDE; import org.eclipse.cdt.ui.CUIPlugin; @@ -40,6 +40,10 @@ public class CallHierarchyBugs extends CallHierarchyBaseTest { return suite(CallHierarchyBugs.class); } + protected void setUp() throws Exception { + super.setUp(); + showCDTPerspective(); + } // class SomeClass { // public: @@ -136,7 +140,7 @@ public class CallHierarchyBugs extends CallHierarchyBaseTest { checkTreeNode(chTree, 0, 0, "SomeClass::ref2"); } - private void openEditor(IFile file) throws PartInitException { + private void openEditor(IFile file) throws WorkbenchException { IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(); IDE.openEditor(page, file, true); getFocusControl(StyledText.class, 8000);