Made tests more stable
diff --git a/org.eclipse.jdt.text.tests/src/org/eclipse/jdt/text/tests/performance/AbstractJavaReplaceAllTest.java b/org.eclipse.jdt.text.tests/src/org/eclipse/jdt/text/tests/performance/AbstractJavaReplaceAllTest.java
index 517870d..6ef92ea 100644
--- a/org.eclipse.jdt.text.tests/src/org/eclipse/jdt/text/tests/performance/AbstractJavaReplaceAllTest.java
+++ b/org.eclipse.jdt.text.tests/src/org/eclipse/jdt/text/tests/performance/AbstractJavaReplaceAllTest.java
@@ -70,9 +70,9 @@
private void measure(PerformanceMeter performanceMeter, int runs) throws Exception {
IAction action= fEditor.getAction(ITextEditorActionConstants.FIND);
- Display display= EditorTestHelper.getActiveDisplay();
+ final Display display= EditorTestHelper.getActiveDisplay();
for (int i= 0; i < runs; i++) {
- StyledText text= (StyledText)fEditor.getAdapter(Control.class);
+ StyledText text= (StyledText) fEditor.getAdapter(Control.class);
text.setSelection(0);
runAction(action);
@@ -92,17 +92,19 @@
SWTEventHelper.pressKeyChar(display, 'a');
SWTEventHelper.keyCodeUp(display, SWT.MOD3);
- performanceMeter.stop();
// Close Find/Replace dialog
SWTEventHelper.pressKeyCode(display, SWT.ESC);
DisplayHelper helper= new DisplayHelper() {
public boolean condition() {
- return fEditor.isDirty();
+ return fEditor.isDirty() && display.getActiveShell() == fEditor.getEditorSite().getShell();
}
};
assertTrue(helper.waitForCondition(display, 1000));
+
+ performanceMeter.stop();
+
try {
EditorTestHelper.revertEditor(fEditor, true);
} catch (IllegalArgumentException e) {
diff --git a/org.eclipse.jdt.text.tests/src/org/eclipse/jdt/text/tests/performance/MoveLineTest.java b/org.eclipse.jdt.text.tests/src/org/eclipse/jdt/text/tests/performance/MoveLineTest.java
index 1cab9e1..fa5d6d4 100644
--- a/org.eclipse.jdt.text.tests/src/org/eclipse/jdt/text/tests/performance/MoveLineTest.java
+++ b/org.eclipse.jdt.text.tests/src/org/eclipse/jdt/text/tests/performance/MoveLineTest.java
@@ -99,11 +99,15 @@
}
SWTEventHelper.keyCodeUp(display, SWT.MOD3, true);
performanceMeter.stop();
- try {
- EditorTestHelper.revertEditor(fEditor, true);
- } catch (NullPointerException e) {
- // ignore because this can trigger a bug that got fixed in the 3.1 stream
- }
+
+ /*
+ * In some cases in Eclipse 3.0 revert under Linux
+ * caused an NPE which we cannot yet explain. Setting
+ * the selection to (0, 0) prevents this from happening.
+ */
+ fEditor.selectAndReveal(0, 0);
+ EditorTestHelper.revertEditor(fEditor, true);
+
EditorTestHelper.joinBackgroundActivities(fEditor);
}
}