From e6dfa25046ae93c101034fe6e51d4dc9ae48652d Mon Sep 17 00:00:00 2001 From: Simeon Andreev Date: Fri, 27 Mar 2026 15:07:32 +0200 Subject: [PATCH] Wait for refresh job at FileBufferFunctions.tearDown() FileBuffersForFilesInLinkedFolders.test16_3() fails infrequently during CI jobs, the fail indicates a missing resource delta notification. RefreshJob is triggered during file buffer operations in test2 and test6, and can notify test listeners of deltas. To avoid this potential problem, this change adds a wait for the refresh family at: tearDown() See: #2528 --- .../eclipse/core/filebuffers/tests/FileBufferFunctions.java | 5 ++++- .../core/filebuffers/tests/FileBuffersForExternalFiles.java | 2 +- .../tests/FileBuffersForFilesInLinkedFolders.java | 2 +- .../core/filebuffers/tests/FileBuffersForLinkedFiles.java | 2 +- .../tests/FileBuffersForNonAccessibleWorkspaceFiles.java | 2 +- .../tests/FileBuffersForNonExistingExternalFiles.java | 2 +- .../tests/FileBuffersForNonExistingWorkspaceFiles.java | 2 +- 7 files changed, 10 insertions(+), 7 deletions(-) diff --git a/tests/org.eclipse.core.filebuffers.tests/src/org/eclipse/core/filebuffers/tests/FileBufferFunctions.java b/tests/org.eclipse.core.filebuffers.tests/src/org/eclipse/core/filebuffers/tests/FileBufferFunctions.java index 91a6f8a974c..fc821684e5e 100644 --- a/tests/org.eclipse.core.filebuffers.tests/src/org/eclipse/core/filebuffers/tests/FileBufferFunctions.java +++ b/tests/org.eclipse.core.filebuffers.tests/src/org/eclipse/core/filebuffers/tests/FileBufferFunctions.java @@ -37,8 +37,10 @@ import org.eclipse.core.filesystem.IFileStore; import org.eclipse.core.runtime.IPath; +import org.eclipse.core.runtime.jobs.Job; import org.eclipse.core.resources.IProject; +import org.eclipse.core.resources.ResourcesPlugin; import org.eclipse.core.filebuffers.FileBuffers; import org.eclipse.core.filebuffers.IFileBuffer; @@ -89,10 +91,11 @@ protected IProject getProject() { } @AfterEach - public void tearDown() { + public void tearDown() throws Exception { ITextFileBuffer buffer= fManager.getTextFileBuffer(fPath, LocationKind.NORMALIZE); assertNull(buffer); ResourceHelper.deleteProject("project"); + Job.getJobManager().join(ResourcesPlugin.FAMILY_AUTO_REFRESH, null); } protected IPath getPath() { diff --git a/tests/org.eclipse.core.filebuffers.tests/src/org/eclipse/core/filebuffers/tests/FileBuffersForExternalFiles.java b/tests/org.eclipse.core.filebuffers.tests/src/org/eclipse/core/filebuffers/tests/FileBuffersForExternalFiles.java index 0ead3db6483..fa4c08c0112 100644 --- a/tests/org.eclipse.core.filebuffers.tests/src/org/eclipse/core/filebuffers/tests/FileBuffersForExternalFiles.java +++ b/tests/org.eclipse.core.filebuffers.tests/src/org/eclipse/core/filebuffers/tests/FileBuffersForExternalFiles.java @@ -37,7 +37,7 @@ public class FileBuffersForExternalFiles extends FileBufferFunctions { @Override @AfterEach - public void tearDown() { + public void tearDown() throws Exception { FileTool.delete(getPath()); FileTool.delete(FileBuffers.getSystemFileAtLocation(getPath()).getParentFile()); super.tearDown(); diff --git a/tests/org.eclipse.core.filebuffers.tests/src/org/eclipse/core/filebuffers/tests/FileBuffersForFilesInLinkedFolders.java b/tests/org.eclipse.core.filebuffers.tests/src/org/eclipse/core/filebuffers/tests/FileBuffersForFilesInLinkedFolders.java index 1a4ccf34e5d..614fa456be9 100644 --- a/tests/org.eclipse.core.filebuffers.tests/src/org/eclipse/core/filebuffers/tests/FileBuffersForFilesInLinkedFolders.java +++ b/tests/org.eclipse.core.filebuffers.tests/src/org/eclipse/core/filebuffers/tests/FileBuffersForFilesInLinkedFolders.java @@ -47,7 +47,7 @@ public class FileBuffersForFilesInLinkedFolders extends FileBufferFunctions { @Override @AfterEach - public void tearDown() { + public void tearDown() throws Exception { FileTool.delete(getPath()); File file= fExternalFile; FileTool.delete(file); // externalResources/linkedFolderTarget/FileInLinkedFolder diff --git a/tests/org.eclipse.core.filebuffers.tests/src/org/eclipse/core/filebuffers/tests/FileBuffersForLinkedFiles.java b/tests/org.eclipse.core.filebuffers.tests/src/org/eclipse/core/filebuffers/tests/FileBuffersForLinkedFiles.java index fdc53452b86..19d8bc62587 100644 --- a/tests/org.eclipse.core.filebuffers.tests/src/org/eclipse/core/filebuffers/tests/FileBuffersForLinkedFiles.java +++ b/tests/org.eclipse.core.filebuffers.tests/src/org/eclipse/core/filebuffers/tests/FileBuffersForLinkedFiles.java @@ -41,7 +41,7 @@ public class FileBuffersForLinkedFiles extends FileBufferFunctions { @Override @AfterEach - public void tearDown() { + public void tearDown() throws Exception { FileTool.delete(fExternalFile); FileTool.delete(fExternalFile.getParentFile()); super.tearDown(); diff --git a/tests/org.eclipse.core.filebuffers.tests/src/org/eclipse/core/filebuffers/tests/FileBuffersForNonAccessibleWorkspaceFiles.java b/tests/org.eclipse.core.filebuffers.tests/src/org/eclipse/core/filebuffers/tests/FileBuffersForNonAccessibleWorkspaceFiles.java index d2f4abc1ab4..76d8ff8c5db 100644 --- a/tests/org.eclipse.core.filebuffers.tests/src/org/eclipse/core/filebuffers/tests/FileBuffersForNonAccessibleWorkspaceFiles.java +++ b/tests/org.eclipse.core.filebuffers.tests/src/org/eclipse/core/filebuffers/tests/FileBuffersForNonAccessibleWorkspaceFiles.java @@ -54,7 +54,7 @@ protected IPath createPath(IProject project) throws Exception { @Override @AfterEach - public void tearDown() { + public void tearDown() throws Exception { FileTool.delete(getPath()); super.tearDown(); } diff --git a/tests/org.eclipse.core.filebuffers.tests/src/org/eclipse/core/filebuffers/tests/FileBuffersForNonExistingExternalFiles.java b/tests/org.eclipse.core.filebuffers.tests/src/org/eclipse/core/filebuffers/tests/FileBuffersForNonExistingExternalFiles.java index 4e8f6352186..4de6e5056b0 100644 --- a/tests/org.eclipse.core.filebuffers.tests/src/org/eclipse/core/filebuffers/tests/FileBuffersForNonExistingExternalFiles.java +++ b/tests/org.eclipse.core.filebuffers.tests/src/org/eclipse/core/filebuffers/tests/FileBuffersForNonExistingExternalFiles.java @@ -35,7 +35,7 @@ public class FileBuffersForNonExistingExternalFiles extends FileBufferFunctions @Override @AfterEach - public void tearDown() { + public void tearDown() throws Exception { FileTool.delete(getPath()); super.tearDown(); } diff --git a/tests/org.eclipse.core.filebuffers.tests/src/org/eclipse/core/filebuffers/tests/FileBuffersForNonExistingWorkspaceFiles.java b/tests/org.eclipse.core.filebuffers.tests/src/org/eclipse/core/filebuffers/tests/FileBuffersForNonExistingWorkspaceFiles.java index 7023752c856..29ee32388f5 100644 --- a/tests/org.eclipse.core.filebuffers.tests/src/org/eclipse/core/filebuffers/tests/FileBuffersForNonExistingWorkspaceFiles.java +++ b/tests/org.eclipse.core.filebuffers.tests/src/org/eclipse/core/filebuffers/tests/FileBuffersForNonExistingWorkspaceFiles.java @@ -44,7 +44,7 @@ public class FileBuffersForNonExistingWorkspaceFiles extends FileBufferFunctions @Override @AfterEach - public void tearDown() { + public void tearDown() throws Exception { FileTool.delete(getPath()); super.tearDown(); }