Skip to content

Commit 09ae52d

Browse files
committed
Wait for DelayedSnapshotJob in AbstractJavaModelTests.deleteProject(), add more logging to test
This change adjsuts AbstractJavaModelTests.deleteProject() to wait for the periodic workspace save job. In addition, logging for JavaModelTests resource change event listener tests is improved to better log events related to the sporadic test failures. Fixes: eclipse-jdt#4958
1 parent 15c8492 commit 09ae52d

2 files changed

Lines changed: 21 additions & 8 deletions

File tree

org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/AbstractJavaModelTests.java

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2472,6 +2472,7 @@ protected void deleteProject(String projectName) throws CoreException {
24722472
project.open(null);
24732473
}
24742474
deleteResource(project);
2475+
waitForSnapShot();
24752476
}
24762477
protected void deleteProject(IJavaProject project) throws CoreException {
24772478
if (project.exists() && !project.isOpen()) { // force opening so that project can be deleted without logging (see bug 23629)
@@ -4215,19 +4216,32 @@ protected void makeJCLModular(IJavaProject javaProject) throws JavaModelExceptio
42154216
}
42164217

42174218
protected static void logDeltaEvent(IResourceChangeEvent event) {
4219+
StringBuilder s = new StringBuilder();
4220+
s.append("Logging resource change event");
4221+
s.append(System.lineSeparator());
4222+
s.append("type: ");
4223+
s.append(event.getType());
4224+
s.append(System.lineSeparator());
4225+
s.append("buildKind: ");
4226+
s.append(event.getBuildKind());
4227+
s.append(System.lineSeparator());
4228+
s.append("resource: ");
4229+
s.append(event.getResource());
4230+
s.append(System.lineSeparator());
4231+
s.append("source: " );
4232+
s.append(event.getSource());
42184233
IResourceDelta delta = event.getDelta();
42194234
if (delta != null) {
4220-
StringBuilder s = new StringBuilder();
4221-
s.append("Logging resource delta");
42224235
s.append(System.lineSeparator());
4236+
s.append("Delta:");
42234237
IResourceDeltaVisitor visitor = new IResourceDeltaVisitor() {
42244238
@Override
42254239
public boolean visit(IResourceDelta d) throws CoreException {
4240+
s.append(System.lineSeparator());
42264241
s.append("\tkind: ");
42274242
s.append(d.getKind());
42284243
s.append(", resource: ");
42294244
s.append(d.getResource());
4230-
s.append(System.lineSeparator());
42314245
return true;
42324246
}
42334247
};
@@ -4240,12 +4254,12 @@ public boolean visit(IResourceDelta d) throws CoreException {
42404254
}
42414255
}
42424256

4243-
private static void logError(String errorMessage, CoreException e) {
4257+
protected static void logError(String errorMessage, CoreException e) {
42444258
logInfo(errorMessage);
42454259
e.printStackTrace(System.out);
42464260
}
42474261

4248-
private static void logInfo(String message) {
4262+
protected static void logInfo(String message) {
42494263
System.out.println(new SimpleDateFormat("HH:mm:ss.SSS").format(new Date()) + " " + message);
42504264
}
42514265
}

org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/JavaModelTests.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
import org.eclipse.core.resources.IResource;
2222
import org.eclipse.core.resources.IResourceChangeEvent;
2323
import org.eclipse.core.resources.IResourceChangeListener;
24-
import org.eclipse.core.resources.ResourcesPlugin;
2524
import org.eclipse.core.runtime.CoreException;
2625
import org.eclipse.core.runtime.IPath;
2726
import org.eclipse.core.runtime.NullProgressMonitor;
@@ -59,7 +58,7 @@ public static Test suite() {
5958

6059
@Override
6160
protected void setUp() throws Exception {
62-
ResourcesPlugin.getWorkspace().addResourceChangeListener(LOG_RESOURCE_DELTA);
61+
JavaCore.addPreProcessingResourceChangedListener(LOG_RESOURCE_DELTA, 255 /* all types */);
6362
this.wasVerbose = JavaModelManager.VERBOSE;
6463
JavaModelManager.VERBOSE = true;
6564
super.setUp();
@@ -69,7 +68,7 @@ protected void setUp() throws Exception {
6968
protected void tearDown() throws Exception {
7069
super.tearDown();
7170
JavaModelManager.VERBOSE = this.wasVerbose;
72-
ResourcesPlugin.getWorkspace().removeResourceChangeListener(LOG_RESOURCE_DELTA);
71+
JavaCore.removePreProcessingResourceChangedListener(LOG_RESOURCE_DELTA);
7372
}
7473

7574
public JavaModelTests(String name) {

0 commit comments

Comments
 (0)