From d2709d020d313f0701c11164d5f9a0c909cf4a48 Mon Sep 17 00:00:00 2001 From: Simeon Andreev Date: Thu, 9 Apr 2026 09:41:22 +0300 Subject: [PATCH] Log resource deltas in all of MarkerTest, cancel and join descriptions cache flush This change adds resource delta logging to all test methods of MarkerTest. Additionally, it cancels and joins ContentDescriptionManager.FlushJob so that the job doesn't notify the test listener with deltas. See: https://github.com/eclipse-platform/eclipse.platform/issues/2569 --- .../org/eclipse/core/tests/resources/MarkerTest.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/resources/tests/org.eclipse.core.tests.resources/src/org/eclipse/core/tests/resources/MarkerTest.java b/resources/tests/org.eclipse.core.tests.resources/src/org/eclipse/core/tests/resources/MarkerTest.java index 03482a6a77b..19429919ee3 100644 --- a/resources/tests/org.eclipse.core.tests.resources/src/org/eclipse/core/tests/resources/MarkerTest.java +++ b/resources/tests/org.eclipse.core.tests.resources/src/org/eclipse/core/tests/resources/MarkerTest.java @@ -44,6 +44,7 @@ import java.util.Vector; import java.util.concurrent.atomic.AtomicReference; import org.assertj.core.api.ObjectAssert; +import org.eclipse.core.internal.resources.ContentDescriptionManager; import org.eclipse.core.internal.resources.MarkerManager; import org.eclipse.core.internal.resources.MarkerReader; import org.eclipse.core.internal.resources.Resource; @@ -208,6 +209,8 @@ public void setUp() throws Exception { prefs.putBoolean(ResourcesPlugin.PREF_AUTO_REFRESH, false); Job.getJobManager().wakeUp(ResourcesPlugin.FAMILY_AUTO_REFRESH); Job.getJobManager().join(ResourcesPlugin.FAMILY_AUTO_REFRESH, null); + ResourcesPlugin.getWorkspace().addResourceChangeListener(LOG_RESOURCE_DELTA); + cancelAndJoin(ContentDescriptionManager.FAMILY_DESCRIPTION_CACHE_FLUSH); } @@ -958,7 +961,6 @@ public void testMarkerDeltasMoveFolder(TestInfo testInfo) throws CoreException { */ @Test public void testMarkerDeltasMoveFile(TestInfo testInfo) throws CoreException { - ResourcesPlugin.getWorkspace().addResourceChangeListener(LOG_RESOURCE_DELTA); IWorkspaceRoot root = getWorkspace().getRoot(); final IProject project = root.getProject("MyProject"); IFolder folder = project.getFolder("folder"); @@ -1006,7 +1008,7 @@ public void testMarkerDeltasMoveFile(TestInfo testInfo) throws CoreException { * Tests the appearance of marker changes in the resource delta. */ @Test - public void testMarkerDeltasMoveProject() throws CoreException { + public void testMarkerDeltasMoveProject() throws Exception { // Create and register a listener. final MarkersChangeListener listener = new MarkersChangeListener(); setResourceChangeListener(listener); @@ -1036,6 +1038,7 @@ public void testMarkerDeltasMoveProject() throws CoreException { IPath destination = IPath.fromOSString(project.getName() + "move"); project.move(destination, true, createTestMonitor()); } + cancelAndJoin(ContentDescriptionManager.FAMILY_DESCRIPTION_CACHE_FLUSH); // verify marker deltas IResourceVisitor visitor = resource -> { @@ -1393,6 +1396,11 @@ public void testSetGetAttribute2() throws CoreException { } } + private static void cancelAndJoin(Object family) throws Exception { + Job.getJobManager().cancel(family); + Job.getJobManager().join(family, null); + } + private static void logDeltaEvent(IResourceChangeEvent event) { StringBuilder s = new StringBuilder(); s.append("Logging resource change event");