diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/UIWorkingSetWizardsAuto.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/UIWorkingSetWizardsAuto.java index 485467a5744..a5bec2d9923 100644 --- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/UIWorkingSetWizardsAuto.java +++ b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/UIWorkingSetWizardsAuto.java @@ -21,6 +21,8 @@ import org.eclipse.core.resources.ResourcesPlugin; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.OperationCanceledException; +import org.eclipse.core.runtime.jobs.Job; import org.eclipse.jface.wizard.IWizard; import org.eclipse.jface.wizard.IWizardPage; import org.eclipse.jface.wizard.WizardDialog; @@ -135,10 +137,18 @@ private void removeAllWorkingSets() { private void cleanupWorkspace() { try { + PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().closeAllEditors(false); + Job.getJobManager().join(ResourcesPlugin.FAMILY_AUTO_BUILD, null); ResourcesPlugin.getWorkspace().getRoot().delete(true, null); } catch (CoreException e) { TestPlugin.getDefault().getLog().log(e.getStatus()); throw createAssertionError(e); + } catch (OperationCanceledException e) { + e.printStackTrace(); + throw new AssertionError(e.getMessage(), e); + } catch (InterruptedException e) { + e.printStackTrace(); + throw new AssertionError(e.getMessage(), e); } finally { project1 = null; project2 = null;