///******************************************************************************* // * Copyright (c) 2006 IBM Corporation 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: // * IBM Corporation - initial API and implementation // ******************************************************************************/ // //package org.eclipse.ui.tests.performance; // //import java.util.HashMap; //import java.util.Map; // //import org.eclipse.core.resources.*; //import org.eclipse.core.runtime.CoreException; //import org.eclipse.test.performance.Dimension; //import org.eclipse.ui.*; // ///** // * The ProblemsViewPerformanceTest is a test of population of the problems view. // * // * @since 3.2 // * // */ //public class ProblemsViewPerformanceTest extends BasicPerformanceTest { // // private String EMPTY_PERSPECTIVE_ID = "org.eclipse.ui.tests.harness.util.EmptyPerspective"; // // private String PROBLEMS_VIEW_ID = "org.eclipse.ui.tests.performance.problemsView"; // // /** // * Create a new instance of the receiver. // * // * @param testName // */ // public ProblemsViewPerformanceTest(String testName) { // super(testName); // } // // /** // * Test the population of the problems view. // */ // public void testPopulation() { // IWorkbenchWindow window = openTestWindow(EMPTY_PERSPECTIVE_ID); // final IWorkbenchPage page = window.getActivePage(); // // PerformanceProblemsView view; // // try { // view = (PerformanceProblemsView) page.showView(PROBLEMS_VIEW_ID); // } catch (PartInitException e) { // e.printStackTrace(); // fail(); // return; // } // // tagIfNecessary("UI - Problems View population", // Dimension.ELAPSED_PROCESS); // // for (int i = 0; i < 100; i++) { // createMarkers(); // processEvents(); // startMeasuring(); // while (view.getTreeWidget().getItemCount() == 0) // processEvents(); // stopMeasuring(); // removeMarkers(); // while (view.getTreeWidget().getItemCount() > 0) // processEvents(); // } // commitMeasurements(); // assertPerformance(); // // } // // /** // * Remove the created markers // */ // private void removeMarkers() { // // try { // IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot(); // // IMarker[] markers = root.findMarkers(IMarker.PROBLEM, false, // IResource.DEPTH_ZERO); // // for (int i = 0; i < markers.length; i++) { // String message = (String) markers[i] // .getAttribute(IMarker.MESSAGE); // // if (message != null && message.startsWith("this is a test")) { // markers[i].delete(); // } // } // } catch (CoreException e) { // e.printStackTrace(); // } // // } // // /** // * Create the markers for the receiver. // */ // private void createMarkers() { // try { // IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot(); // Map attribs = new HashMap(); // for (int i = 0; i < 1000; i++) { // attribs.put(IMarker.SEVERITY, new Integer( // IMarker.SEVERITY_ERROR)); // attribs.put(IMarker.MESSAGE, "this is a test " + i); // MarkerUtilities.createMarker(root, attribs, IMarker.PROBLEM); // } // } catch (CoreException e) { // e.printStackTrace(); // } // // } // //}