| /******************************************************************************* |
| * Copyright (c) 2009 Tasktop Technologies 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 |
| * http://www.eclipse.org/legal/epl-v10.html |
| * |
| * Contributors: |
| * Tasktop Technologies - initial API and implementation |
| *******************************************************************************/ |
| |
| package org.eclipse.mylyn.tasks.tests.performance; |
| |
| import java.io.File; |
| import java.io.IOException; |
| |
| import org.eclipse.core.runtime.NullProgressMonitor; |
| import org.eclipse.mylyn.internal.provisional.commons.ui.WorkbenchUtil; |
| import org.eclipse.mylyn.internal.tasks.core.AbstractTask; |
| import org.eclipse.mylyn.internal.tasks.core.LocalRepositoryConnector; |
| import org.eclipse.mylyn.internal.tasks.ui.editors.TaskEditorExtensions; |
| import org.eclipse.mylyn.internal.tasks.ui.util.TasksUiInternal; |
| import org.eclipse.mylyn.tasks.core.TaskRepository; |
| import org.eclipse.mylyn.tasks.ui.TasksUi; |
| import org.eclipse.mylyn.tasks.ui.TasksUiUtil; |
| import org.eclipse.mylyn.tests.performance.PerformanceConstants; |
| import org.eclipse.mylyn.tests.performance.support.CommonTestUtil; |
| import org.eclipse.mylyn.tests.performance.support.UiTestUtil; |
| import org.eclipse.swt.widgets.Shell; |
| import org.eclipse.test.performance.Dimension; |
| import org.eclipse.test.performance.PerformanceTestCase; |
| |
| /** |
| * @author Steffen Pingel |
| */ |
| public class TaskEditorPerformanceTest extends PerformanceTestCase { |
| |
| private static String ID_NONE = "none"; |
| |
| private static String ID_MEDIA_WIKI = "org.eclipse.mylyn.wikitext.tasks.ui.editor.mediaWikiTaskEditorExtension"; |
| |
| @Override |
| protected void setUp() throws Exception { |
| super.setUp(); |
| UiTestUtil.closeWelcomeView(); |
| } |
| |
| @Override |
| protected void tearDown() throws Exception { |
| UiTestUtil.closeAllEditors(); |
| super.tearDown(); |
| } |
| |
| public void testOpenStackTrace() throws IOException { |
| TaskRepository repository = TasksUi.getRepositoryManager().getRepository( |
| LocalRepositoryConnector.CONNECTOR_KIND, LocalRepositoryConnector.REPOSITORY_URL); |
| TaskEditorExtensions.setTaskEditorExtensionId(repository, ID_NONE); |
| |
| AbstractTask task = TasksUiInternal.createNewLocalTask("test performance"); |
| File file = CommonTestUtil.getFile(this, "testdata/stack-trace.txt"); |
| task.setNotes(CommonTestUtil.read(file)); |
| |
| for (int i = 0; i < PerformanceConstants.REPEAT; i++) { |
| startMeasuring(); |
| TasksUiUtil.openTask(task); |
| stopMeasuring(); |
| |
| UiTestUtil.closeAllEditors(); |
| } |
| |
| tagAsSummary("Open Bugzilla Task in Editor", Dimension.CPU_TIME); |
| commitMeasurements(); |
| assertPerformance(); |
| } |
| |
| public void testOpenStackTraceMediaWiki() throws IOException { |
| TaskRepository repository = TasksUi.getRepositoryManager().getRepository( |
| LocalRepositoryConnector.CONNECTOR_KIND, LocalRepositoryConnector.REPOSITORY_URL); |
| TaskEditorExtensions.setTaskEditorExtensionId(repository, ID_MEDIA_WIKI); |
| |
| AbstractTask task = TasksUiInternal.createNewLocalTask("test performance"); |
| File file = CommonTestUtil.getFile(this, "testdata/stack-trace.txt"); |
| task.setNotes(CommonTestUtil.read(file)); |
| |
| for (int i = 0; i < PerformanceConstants.REPEAT; i++) { |
| startMeasuring(); |
| TasksUiUtil.openTask(task); |
| stopMeasuring(); |
| |
| UiTestUtil.closeAllEditors(); |
| } |
| |
| tagAsSummary("Open Bugzilla Task in Editor", Dimension.CPU_TIME); |
| commitMeasurements(); |
| assertPerformance(); |
| } |
| |
| public void testOpenNewBugzillaTask() throws Exception { |
| TaskRepository repository = new TaskRepository("bugzilla", "http://mylyn.eclipse.org/bugs34/"); |
| TasksUi.getRepositoryManager().addRepository(repository); |
| TasksUi.getRepositoryConnector(repository.getConnectorKind()).updateRepositoryConfiguration(repository, |
| new NullProgressMonitor()); |
| |
| Shell shell = WorkbenchUtil.getShell(); |
| for (int i = 0; i < PerformanceConstants.REPEAT; i++) { |
| startMeasuring(); |
| TasksUiUtil.openNewTaskEditor(shell, null, repository); |
| stopMeasuring(); |
| |
| UiTestUtil.closeAllEditors(); |
| } |
| |
| tagAsSummary("Open Bugzilla Task in Editor", Dimension.CPU_TIME); |
| commitMeasurements(); |
| assertPerformance(); |
| } |
| |
| public void testOpenNewLocalTask() { |
| Shell shell = WorkbenchUtil.getShell(); |
| for (int i = 0; i < PerformanceConstants.REPEAT; i++) { |
| startMeasuring(); |
| TasksUiUtil.openNewLocalTaskEditor(shell, null); |
| stopMeasuring(); |
| |
| UiTestUtil.closeAllEditors(); |
| } |
| |
| commitMeasurements(); |
| assertPerformance(); |
| } |
| |
| } |