View | Details | Raw Unified | Return to bug 198894
Collapse All | Expand All

(-)performance/org/eclipse/jdt/ui/tests/performance/views/PackageExplorerWarmPerfTest.java (-6 / +2 lines)
Lines 56-69 Link Here
56
			joinBackgroudActivities();
56
			joinBackgroudActivities();
57
			startMeasuring();
57
			startMeasuring();
58
			page.showView(JavaUI.ID_PACKAGES);
58
			page.showView(JavaUI.ID_PACKAGES);
59
			finishMeasurements();
59
			stopMeasuring();
60
		}
60
		}
61
	}
62
	
63
	protected void finishMeasurements() {
64
		stopMeasuring();
65
		commitMeasurements();
61
		commitMeasurements();
66
		// don't spend more than 500 ms.
62
		// don't spend more than 500 ms.
67
		Performance.getDefault().assertPerformanceInAbsoluteBand(fPerformanceMeter, Dimension.ELAPSED_PROCESS, 0, 500);		
63
		Performance.getDefault().assertPerformanceInAbsoluteBand(fPerformanceMeter, Dimension.ELAPSED_PROCESS, 0, 500);
68
	}
64
	}
69
}
65
}
(-)performance/org/eclipse/jdt/ui/tests/performance/views/CleanUpPerfTest.java (-117 / +52 lines)
Lines 24-32 Link Here
24
24
25
import org.eclipse.core.runtime.CoreException;
25
import org.eclipse.core.runtime.CoreException;
26
import org.eclipse.core.runtime.IProgressMonitor;
26
import org.eclipse.core.runtime.IProgressMonitor;
27
import org.eclipse.core.runtime.NullProgressMonitor;
27
import org.eclipse.core.runtime.IStatus;
28
import org.eclipse.core.runtime.preferences.InstanceScope;
28
import org.eclipse.core.runtime.preferences.InstanceScope;
29
29
30
import org.eclipse.core.resources.ResourcesPlugin;
31
32
import org.eclipse.ltk.core.refactoring.CheckConditionsOperation;
33
import org.eclipse.ltk.core.refactoring.PerformRefactoringOperation;
34
import org.eclipse.ltk.core.refactoring.Refactoring;
35
import org.eclipse.ltk.core.refactoring.RefactoringCore;
30
import org.eclipse.ltk.core.refactoring.RefactoringStatus;
36
import org.eclipse.ltk.core.refactoring.RefactoringStatus;
31
37
32
import org.eclipse.jdt.core.ICompilationUnit;
38
import org.eclipse.jdt.core.ICompilationUnit;
Lines 194-209 Link Here
194
			}
200
			}
195
		});
201
		});
196
		
202
		
197
		cleanUpRefactoring.checkAllConditions(new NullProgressMonitor());
203
		doCleanUp(cleanUpRefactoring);
198
		cleanUpRefactoring.createChange(null);
199
		
200
		joinBackgroudActivities();
201
		for (int i= 0; i < 10; i++) {
202
			startMeasuring();
203
			cleanUpRefactoring.checkAllConditions(new NullProgressMonitor());
204
			cleanUpRefactoring.createChange(null);
205
			finishMeasurements();
206
		}
207
	}
204
	}
208
	
205
	
209
	public void testAllCleanUps() throws Exception {
206
	public void testAllCleanUps() throws Exception {
Lines 265-280 Link Here
265
		//See https://bugs.eclipse.org/bugs/show_bug.cgi?id=135219
262
		//See https://bugs.eclipse.org/bugs/show_bug.cgi?id=135219
266
		//		tagAsSummary("Code Clean Up - 25 clean-ups", Dimension.ELAPSED_PROCESS);
263
		//		tagAsSummary("Code Clean Up - 25 clean-ups", Dimension.ELAPSED_PROCESS);
267
		
264
		
268
		cleanUpRefactoring.checkAllConditions(new NullProgressMonitor());
265
		doCleanUp(cleanUpRefactoring);
269
		cleanUpRefactoring.createChange(null);
270
		
271
		joinBackgroudActivities();
272
		for (int i= 0; i < 10; i++) {
273
			startMeasuring();
274
			cleanUpRefactoring.checkAllConditions(new NullProgressMonitor());
275
			cleanUpRefactoring.createChange(null);
276
			finishMeasurements();
277
		}
278
	}
266
	}
279
	
267
	
280
	public void testCodeStyleCleanUp() throws Exception {		
268
	public void testCodeStyleCleanUp() throws Exception {		
Lines 299-314 Link Here
299
		
287
		
300
		cleanUpRefactoring.addCleanUp(new CodeStyleCleanUp());
288
		cleanUpRefactoring.addCleanUp(new CodeStyleCleanUp());
301
		
289
		
302
		cleanUpRefactoring.checkAllConditions(new NullProgressMonitor());
290
		doCleanUp(cleanUpRefactoring);
303
		cleanUpRefactoring.createChange(null);
304
		
305
		joinBackgroudActivities();
306
		for (int i= 0; i < 10; i++) {
307
			startMeasuring();
308
			cleanUpRefactoring.checkAllConditions(new NullProgressMonitor());
309
			cleanUpRefactoring.createChange(null);
310
			finishMeasurements();
311
		}
312
	}
291
	}
313
	
292
	
314
	public void testControlStatementsCleanUp() throws Exception {
293
	public void testControlStatementsCleanUp() throws Exception {
Lines 325-340 Link Here
325
		cleanUpRefactoring.addCleanUp(new ControlStatementsCleanUp());
304
		cleanUpRefactoring.addCleanUp(new ControlStatementsCleanUp());
326
		cleanUpRefactoring.addCleanUp(new ConvertLoopCleanUp());
305
		cleanUpRefactoring.addCleanUp(new ConvertLoopCleanUp());
327
		
306
		
328
		cleanUpRefactoring.checkAllConditions(new NullProgressMonitor());
307
		doCleanUp(cleanUpRefactoring);
329
		cleanUpRefactoring.createChange(null);
330
		
331
		joinBackgroudActivities();
332
		for (int i= 0; i < 10; i++) {
333
			startMeasuring();
334
			cleanUpRefactoring.checkAllConditions(new NullProgressMonitor());
335
			cleanUpRefactoring.createChange(null);
336
			finishMeasurements();
337
		}
338
	}
308
	}
339
	
309
	
340
	public void testConvertLoopCleanUp() throws Exception {
310
	public void testConvertLoopCleanUp() throws Exception {
Lines 350-365 Link Here
350
		cleanUpRefactoring.addCleanUp(new ControlStatementsCleanUp());
320
		cleanUpRefactoring.addCleanUp(new ControlStatementsCleanUp());
351
		cleanUpRefactoring.addCleanUp(new ConvertLoopCleanUp());
321
		cleanUpRefactoring.addCleanUp(new ConvertLoopCleanUp());
352
		
322
		
353
		cleanUpRefactoring.checkAllConditions(new NullProgressMonitor());
323
		doCleanUp(cleanUpRefactoring);
354
		cleanUpRefactoring.createChange(null);
355
		
356
		joinBackgroudActivities();
357
		for (int i= 0; i < 10; i++) {
358
			startMeasuring();
359
			cleanUpRefactoring.checkAllConditions(new NullProgressMonitor());
360
			cleanUpRefactoring.createChange(null);
361
			finishMeasurements();
362
		}
363
	}
324
	}
364
	
325
	
365
	public void testExpressionsCleanUp() throws Exception {
326
	public void testExpressionsCleanUp() throws Exception {
Lines 375-390 Link Here
375
		
336
		
376
		cleanUpRefactoring.addCleanUp(new ExpressionsCleanUp());
337
		cleanUpRefactoring.addCleanUp(new ExpressionsCleanUp());
377
		
338
		
378
		cleanUpRefactoring.checkAllConditions(new NullProgressMonitor());
339
		doCleanUp(cleanUpRefactoring);
379
		cleanUpRefactoring.createChange(null);
380
		
381
		joinBackgroudActivities();
382
		for (int i= 0; i < 10; i++) {
383
			startMeasuring();
384
			cleanUpRefactoring.checkAllConditions(new NullProgressMonitor());
385
			cleanUpRefactoring.createChange(null);
386
			finishMeasurements();
387
		}
388
	}
340
	}
389
	
341
	
390
	public void testJava50CleanUp() throws Exception {
342
	public void testJava50CleanUp() throws Exception {
Lines 401-416 Link Here
401
		
353
		
402
		cleanUpRefactoring.addCleanUp(new Java50CleanUp());
354
		cleanUpRefactoring.addCleanUp(new Java50CleanUp());
403
		
355
		
404
		cleanUpRefactoring.checkAllConditions(new NullProgressMonitor());
356
		doCleanUp(cleanUpRefactoring);
405
		cleanUpRefactoring.createChange(null);
406
		
407
		joinBackgroudActivities();
408
		for (int i= 0; i < 10; i++) {
409
			startMeasuring();
410
			cleanUpRefactoring.checkAllConditions(new NullProgressMonitor());
411
			cleanUpRefactoring.createChange(null);
412
			finishMeasurements();
413
		}
414
	}
357
	}
415
	
358
	
416
	public void testStringCleanUp() throws Exception {
359
	public void testStringCleanUp() throws Exception {
Lines 425-440 Link Here
425
		
368
		
426
		cleanUpRefactoring.addCleanUp(new StringCleanUp());
369
		cleanUpRefactoring.addCleanUp(new StringCleanUp());
427
		
370
		
428
		cleanUpRefactoring.checkAllConditions(new NullProgressMonitor());
371
		doCleanUp(cleanUpRefactoring);
429
		cleanUpRefactoring.createChange(null);
430
		
431
		joinBackgroudActivities();
432
		for (int i= 0; i < 10; i++) {
433
			startMeasuring();
434
			cleanUpRefactoring.checkAllConditions(new NullProgressMonitor());
435
			cleanUpRefactoring.createChange(null);
436
			finishMeasurements();
437
		}
438
	}
372
	}
439
	
373
	
440
	public void testSortMembersCleanUp() throws Exception {
374
	public void testSortMembersCleanUp() throws Exception {
Lines 450-465 Link Here
450
		
384
		
451
		cleanUpRefactoring.addCleanUp(new SortMembersCleanUp());
385
		cleanUpRefactoring.addCleanUp(new SortMembersCleanUp());
452
		
386
		
453
		cleanUpRefactoring.checkAllConditions(new NullProgressMonitor());
387
		doCleanUp(cleanUpRefactoring);
454
		cleanUpRefactoring.createChange(null);
455
		
456
		joinBackgroudActivities();
457
		for (int i= 0; i < 10; i++) {
458
			startMeasuring();
459
			cleanUpRefactoring.checkAllConditions(new NullProgressMonitor());
460
			cleanUpRefactoring.createChange(null);
461
			finishMeasurements();
462
		}
463
	}
388
	}
464
	
389
	
465
	public void testUnnecessaryCodeCleanUp() throws Exception {
390
	public void testUnnecessaryCodeCleanUp() throws Exception {
Lines 472-487 Link Here
472
		
397
		
473
		cleanUpRefactoring.addCleanUp(new UnnecessaryCodeCleanUp());
398
		cleanUpRefactoring.addCleanUp(new UnnecessaryCodeCleanUp());
474
		
399
		
475
		cleanUpRefactoring.checkAllConditions(new NullProgressMonitor());
400
		doCleanUp(cleanUpRefactoring);
476
		cleanUpRefactoring.createChange(null);
477
		
478
		joinBackgroudActivities();
479
		for (int i= 0; i < 10; i++) {
480
			startMeasuring();
481
			cleanUpRefactoring.checkAllConditions(new NullProgressMonitor());
482
			cleanUpRefactoring.createChange(null);
483
			finishMeasurements();
484
		}
485
	}
401
	}
486
	
402
	
487
	public void testUnusedCodeCleanUp() throws Exception {
403
	public void testUnusedCodeCleanUp() throws Exception {
Lines 502-517 Link Here
502
		
418
		
503
		cleanUpRefactoring.addCleanUp(new UnusedCodeCleanUp());
419
		cleanUpRefactoring.addCleanUp(new UnusedCodeCleanUp());
504
		
420
		
505
		cleanUpRefactoring.checkAllConditions(new NullProgressMonitor());
421
		doCleanUp(cleanUpRefactoring);
506
		cleanUpRefactoring.createChange(null);
507
		
508
		joinBackgroudActivities();
509
		for (int i= 0; i < 10; i++) {
510
			startMeasuring();
511
			cleanUpRefactoring.checkAllConditions(new NullProgressMonitor());
512
			cleanUpRefactoring.createChange(null);
513
			finishMeasurements();
514
		}
515
	}
422
	}
516
	
423
	
517
	public void testVariableDeclarationCleanUp() throws Exception {
424
	public void testVariableDeclarationCleanUp() throws Exception {
Lines 529-543 Link Here
529
		
436
		
530
		cleanUpRefactoring.addCleanUp(new VariableDeclarationCleanUp());
437
		cleanUpRefactoring.addCleanUp(new VariableDeclarationCleanUp());
531
		
438
		
532
		cleanUpRefactoring.checkAllConditions(new NullProgressMonitor());
439
		doCleanUp(cleanUpRefactoring);
533
		cleanUpRefactoring.createChange(null);
440
	}
441
	
442
	private void doCleanUp(CleanUpRefactoring refactoring) throws CoreException {
443
		
444
		performRefactoring(refactoring, false, IStatus.WARNING, true);
445
		performRefactoring(refactoring, false, IStatus.WARNING, true);
534
		
446
		
535
		joinBackgroudActivities();
536
		for (int i= 0; i < 10; i++) {
447
		for (int i= 0; i < 10; i++) {
537
			startMeasuring();
448
			startMeasuring();
538
			cleanUpRefactoring.checkAllConditions(new NullProgressMonitor());
449
			performRefactoring(refactoring, false, IStatus.WARNING, true);
539
			cleanUpRefactoring.createChange(null);
450
			stopMeasuring();
540
			finishMeasurements();
451
		}
452
		
453
		commitMeasurements();
454
		assertPerformanceInRelativeBand(Dimension.ELAPSED_PROCESS, -100, +10);
455
	}
456
	
457
	private void performRefactoring(Refactoring refactoring, boolean measure, int maxSeverity, boolean checkUndo) throws CoreException {
458
		PerformRefactoringOperation operation= new PerformRefactoringOperation(refactoring, CheckConditionsOperation.ALL_CONDITIONS);
459
		joinBackgroudActivities();
460
		// Flush the undo manager to not count any already existing undo objects
461
		// into the heap consumption
462
		RefactoringCore.getUndoManager().flush();
463
		System.gc();
464
		if (measure)
465
			startMeasuring();
466
		ResourcesPlugin.getWorkspace().run(operation, null);
467
		if (measure)
468
			stopMeasuring();
469
		assertEquals(true, operation.getConditionStatus().getSeverity() <= maxSeverity);
470
		assertEquals(true, operation.getValidationStatus().isOK());
471
		if (checkUndo) {
472
			assertNotNull(operation.getUndoChange());
541
		}
473
		}
474
		RefactoringCore.getUndoManager().flush();
475
		System.gc();
542
	}
476
	}
477
	
543
}
478
}
(-)test cases/org/eclipse/jdt/ui/tests/refactoring/reorg/MoveCompilationUnitPerfTests1.java (-3 / +1 lines)
Lines 54-62 Link Here
54
		executeRefactoring(1000, 10, true, 1);
54
		executeRefactoring(1000, 10, true, 1);
55
	}
55
	}
56
56
57
	protected void finishMeasurements() {
57
	protected void assertMeasurements() {
58
		stopMeasuring();
59
		commitMeasurements();
60
		assertPerformanceInRelativeBand(Dimension.CPU_TIME, -100, +10);
58
		assertPerformanceInRelativeBand(Dimension.CPU_TIME, -100, +10);
61
	}
59
	}
62
}
60
}
(-)test cases/org/eclipse/jdt/ui/tests/refactoring/reorg/RenameMethodWithOverloadPerfTests.java (-3 / +1 lines)
Lines 106-114 Link Here
106
		pack.createCompilationUnit("Ref" + index + ".java", buf.toString(), false, null);
106
		pack.createCompilationUnit("Ref" + index + ".java", buf.toString(), false, null);
107
	}
107
	}
108
108
109
	protected void finishMeasurements() {
109
	protected void assertMeasurements() {
110
		stopMeasuring();
111
		commitMeasurements();
112
		assertPerformanceInRelativeBand(Dimension.CPU_TIME, -100, +10);
110
		assertPerformanceInRelativeBand(Dimension.CPU_TIME, -100, +10);
113
	}
111
	}
114
}
112
}
(-)test cases/org/eclipse/jdt/ui/tests/refactoring/reorg/RenameTypePerfTests1.java (-3 / +1 lines)
Lines 54-62 Link Here
54
		executeRefactoring(1000, 10, true, 1);
54
		executeRefactoring(1000, 10, true, 1);
55
	}
55
	}
56
56
57
	protected void finishMeasurements() {
57
	protected void assertMeasurements() {
58
		stopMeasuring();
59
		commitMeasurements();
60
		assertPerformanceInRelativeBand(Dimension.CPU_TIME, -100, +10);
58
		assertPerformanceInRelativeBand(Dimension.CPU_TIME, -100, +10);
61
	}
59
	}
62
}
60
}
(-)test cases/org/eclipse/jdt/ui/tests/refactoring/reorg/RepeatingRefactoringPerformanceTestCase.java (+12 lines)
Lines 10-15 Link Here
10
 *******************************************************************************/
10
 *******************************************************************************/
11
package org.eclipse.jdt.ui.tests.refactoring.reorg;
11
package org.eclipse.jdt.ui.tests.refactoring.reorg;
12
12
13
import org.eclipse.test.performance.Dimension;
14
13
import org.eclipse.jdt.ui.tests.refactoring.infra.RefactoringPerformanceTestCase;
15
import org.eclipse.jdt.ui.tests.refactoring.infra.RefactoringPerformanceTestCase;
14
16
15
17
Lines 34-39 Link Here
34
				fTestProject.delete();
36
				fTestProject.delete();
35
 			}
37
 			}
36
		}
38
		}
39
		commitMeasurements();
40
		assertMeasurements();
41
	}
42
	
43
	protected void finishMeasurements() {
44
		stopMeasuring();
45
	}
46
	
47
	protected void assertMeasurements() {
48
		assertPerformanceInRelativeBand(Dimension.ELAPSED_PROCESS, -100, +10);;
37
	}
49
	}
38
	
50
	
39
	protected abstract void doExecuteRefactoring(int numberOfCus, int numberOfRefs, boolean measure) throws Exception;
51
	protected abstract void doExecuteRefactoring(int numberOfCus, int numberOfRefs, boolean measure) throws Exception;

Return to bug 198894