diff options
author | Robin Stocker | 2012-12-04 22:43:42 +0000 |
---|---|---|
committer | Matthias Sohn | 2012-12-05 21:57:40 +0000 |
commit | 73d6e30245a739e1e2f9a5ac97bebfc6e94cecea (patch) | |
tree | d82418a561f10fa612bfdc731c2087d57d37238b | |
parent | d76577fa5a6311b7671656363e7f7518033c4c4c (diff) | |
download | egit-73d6e30245a739e1e2f9a5ac97bebfc6e94cecea.tar.gz egit-73d6e30245a739e1e2f9a5ac97bebfc6e94cecea.tar.xz egit-73d6e30245a739e1e2f9a5ac97bebfc6e94cecea.zip |
Try to make repositories view tests more stable
- Use API to show the view instead of the Window menu.
- Use JobJoiner when doing a refresh.
Change-Id: I78b54e1b0cb2233071f54c31276a766f293de444
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2 files changed, 26 insertions, 21 deletions
diff --git a/org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/view/repositories/GitRepositoriesViewTestBase.java b/org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/view/repositories/GitRepositoriesViewTestBase.java index 77d032e2cd..080a572ca3 100644 --- a/org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/view/repositories/GitRepositoriesViewTestBase.java +++ b/org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/view/repositories/GitRepositoriesViewTestBase.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2010 SAP AG. + * Copyright (c) 2010, 2012 SAP AG and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -19,6 +19,7 @@ import java.io.IOException; import java.lang.reflect.InvocationTargetException; import java.util.ArrayList; import java.util.Arrays; +import java.util.concurrent.TimeUnit; import org.eclipse.core.commands.State; import org.eclipse.core.resources.IFile; @@ -39,6 +40,7 @@ import org.eclipse.egit.ui.internal.push.PushOperationUI; import org.eclipse.egit.ui.internal.repository.RepositoriesView; import org.eclipse.egit.ui.internal.repository.tree.command.ToggleBranchCommitCommand; import org.eclipse.egit.ui.test.Eclipse; +import org.eclipse.egit.ui.test.JobJoiner; import org.eclipse.egit.ui.test.TestUtil; import org.eclipse.jgit.lib.ConfigConstants; import org.eclipse.jgit.lib.Constants; @@ -231,6 +233,7 @@ public abstract class GitRepositoriesViewTestBase extends viewbot = myRepoViewUtil.openRepositoriesView(bot); } else viewbot.setFocus(); + TestUtil.joinJobs(JobFamilies.REPO_VIEW_REFRESH); return viewbot; } @@ -256,8 +259,9 @@ public abstract class GitRepositoriesViewTestBase extends protected void refreshAndWait() throws Exception { RepositoriesView view = (RepositoriesView) getOrOpenView() .getReference().getPart(false); + JobJoiner jobJoiner = JobJoiner.startListening(JobFamilies.REPO_VIEW_REFRESH, 60, TimeUnit.SECONDS); view.refresh(); - TestUtil.joinJobs(JobFamilies.REPO_VIEW_REFRESH); + jobJoiner.join(); } @SuppressWarnings("boxing") diff --git a/org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/view/repositories/GitRepositoriesViewTestUtils.java b/org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/view/repositories/GitRepositoriesViewTestUtils.java index b9fabc00ea..59c56660ad 100644 --- a/org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/view/repositories/GitRepositoriesViewTestUtils.java +++ b/org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/view/repositories/GitRepositoriesViewTestUtils.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2010 SAP AG. + * Copyright (c) 2010, 2012 SAP AG and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -15,25 +15,27 @@ import static org.junit.Assert.assertNotNull; import java.io.File; import java.util.concurrent.atomic.AtomicReference; -import org.eclipse.egit.ui.JobFamilies; +import org.eclipse.egit.ui.internal.repository.RepositoriesView; import org.eclipse.egit.ui.internal.repository.RepositoriesViewLabelProvider; +import org.eclipse.egit.ui.internal.repository.tree.AdditionalRefsNode; import org.eclipse.egit.ui.internal.repository.tree.BranchesNode; import org.eclipse.egit.ui.internal.repository.tree.LocalNode; import org.eclipse.egit.ui.internal.repository.tree.RemoteTrackingNode; import org.eclipse.egit.ui.internal.repository.tree.RemotesNode; import org.eclipse.egit.ui.internal.repository.tree.RepositoryNode; -import org.eclipse.egit.ui.internal.repository.tree.AdditionalRefsNode; import org.eclipse.egit.ui.internal.repository.tree.TagsNode; import org.eclipse.egit.ui.internal.repository.tree.WorkingDirNode; import org.eclipse.egit.ui.test.TestUtil; -import org.eclipse.jface.dialogs.IDialogConstants; import org.eclipse.jgit.lib.Repository; import org.eclipse.swt.widgets.Display; import org.eclipse.swtbot.eclipse.finder.SWTWorkbenchBot; import org.eclipse.swtbot.eclipse.finder.widgets.SWTBotView; -import org.eclipse.swtbot.swt.finder.widgets.SWTBotShell; import org.eclipse.swtbot.swt.finder.widgets.SWTBotTree; import org.eclipse.swtbot.swt.finder.widgets.SWTBotTreeItem; +import org.eclipse.ui.IWorkbenchPage; +import org.eclipse.ui.IWorkbenchWindow; +import org.eclipse.ui.PartInitException; +import org.eclipse.ui.PlatformUI; public class GitRepositoriesViewTestUtils { @@ -56,14 +58,6 @@ public class GitRepositoriesViewTestUtils { protected static final TestUtil myUtil = new TestUtil(); - // the human-readable view name - protected final static String viewName = myUtil - .getPluginLocalizedValue("GitRepositoriesView_name"); - - // the human readable Git category - private final static String gitCategory = myUtil - .getPluginLocalizedValue("GitCategory_name"); - private final RepositoriesViewLabelProvider labelProvider; /** @@ -175,12 +169,19 @@ public class GitRepositoriesViewTestUtils { public SWTBotView openRepositoriesView(SWTWorkbenchBot bot) throws Exception { - bot.menu("Window").menu("Show View").menu("Other...").click(); - SWTBotShell shell = bot.shell("Show View").activate(); - shell.bot().tree().expandNode(gitCategory).getNode(viewName).select(); - shell.bot().button(IDialogConstants.OK_LABEL).click(); - TestUtil.joinJobs(JobFamilies.REPO_VIEW_REFRESH); - SWTBotView viewbot = bot.viewByTitle(viewName); + Display.getDefault().syncExec(new Runnable() { + public void run() { + IWorkbenchWindow workbenchWindow = PlatformUI.getWorkbench().getActiveWorkbenchWindow(); + IWorkbenchPage workbenchPage = workbenchWindow.getActivePage(); + try { + workbenchPage.showView(RepositoriesView.VIEW_ID); + } catch (PartInitException e) { + throw new RuntimeException("Showing repositories view failed", e); + } + } + }); + + SWTBotView viewbot = bot.viewById(RepositoriesView.VIEW_ID); assertNotNull("Repositories View should not be null", viewbot); return viewbot; } |