mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-03-22 15:19:59 +07:00
IJPL-578 wait for indexes to be ready in tests after VFS refresh
GitOrigin-RevId: 8d0b450d68eefaa96d6d882ecfe18af32579fd3f
This commit is contained in:
committed by
intellij-monorepo-bot
parent
008bb472fa
commit
89605ab0a7
@@ -7,8 +7,10 @@ import com.intellij.openapi.roots.ProjectRootManager;
|
||||
import com.intellij.openapi.util.io.FileUtil;
|
||||
import com.intellij.openapi.vfs.LocalFileSystem;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.openapi.vfs.VirtualFileManager;
|
||||
import com.intellij.testFramework.*;
|
||||
import com.intellij.testFramework.HeavyPlatformTestCase;
|
||||
import com.intellij.testFramework.JavaProjectTestCase;
|
||||
import com.intellij.testFramework.PsiTestUtil;
|
||||
import com.intellij.testFramework.VfsTestUtil;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
@@ -43,7 +45,7 @@ public class ProjectFileIndexRestoreTest extends JavaProjectTestCase {
|
||||
myTestDirPath = testDir.getPath();
|
||||
|
||||
// to not interfere with previous test firing vfs events
|
||||
VirtualFileManager.getInstance().syncRefresh();
|
||||
VfsTestUtil.syncRefresh();
|
||||
}
|
||||
|
||||
public void testDeepDeleteAndRecreate() throws IOException {
|
||||
|
||||
@@ -10,7 +10,6 @@ import com.intellij.openapi.fileEditor.FileDocumentManager;
|
||||
import com.intellij.openapi.util.io.FileUtil;
|
||||
import com.intellij.openapi.vfs.VfsUtilCore;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.openapi.vfs.VirtualFileManager;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.impl.source.SourceTreeToPsiMap;
|
||||
import com.intellij.psi.search.GlobalSearchScope;
|
||||
@@ -18,6 +17,7 @@ import com.intellij.refactoring.rename.RenameProcessor;
|
||||
import com.intellij.testFramework.IdeaTestUtil;
|
||||
import com.intellij.testFramework.JavaPsiTestCase;
|
||||
import com.intellij.testFramework.PsiTestUtil;
|
||||
import com.intellij.testFramework.VfsTestUtil;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
@@ -69,7 +69,7 @@ public class ArrayIndexOutOfBoundsTest extends JavaPsiTestCase {
|
||||
catch (IOException e) {
|
||||
LOG.error(e);
|
||||
}
|
||||
VirtualFileManager.getInstance().syncRefresh();
|
||||
VfsTestUtil.syncRefresh();
|
||||
};
|
||||
CommandProcessor.getInstance().executeCommand(myProject, runnable, "", null);
|
||||
}
|
||||
@@ -79,7 +79,7 @@ public class ArrayIndexOutOfBoundsTest extends JavaPsiTestCase {
|
||||
final PsiPackage aPackage = JavaPsiFacade.getInstance(myPsiManager.getProject()).findPackage("anotherBla");
|
||||
assertNotNull("Package anotherBla not found", aPackage);
|
||||
WriteCommandAction.runWriteCommandAction(null, () -> aPackage.getDirectories()[0].delete());
|
||||
VirtualFileManager.getInstance().syncRefresh();
|
||||
VfsTestUtil.syncRefresh();
|
||||
};
|
||||
CommandProcessor.getInstance().executeCommand(myProject, runnable, "", null);
|
||||
}
|
||||
|
||||
@@ -29,10 +29,10 @@ import com.intellij.openapi.util.registry.Registry;
|
||||
import com.intellij.openapi.vfs.LocalFileSystem;
|
||||
import com.intellij.openapi.vfs.VfsUtilCore;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.openapi.vfs.VirtualFileManager;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.refactoring.rename.RenameProcessor;
|
||||
import com.intellij.testFramework.PlatformTestUtil;
|
||||
import com.intellij.testFramework.VfsTestUtil;
|
||||
import kotlin.text.Charsets;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@@ -1186,7 +1186,7 @@ public class GlobalUndoTest extends UndoTestCase implements TestDialog {
|
||||
}
|
||||
|
||||
private static void refreshFileSystem() {
|
||||
VirtualFileManager.getInstance().syncRefresh();
|
||||
VfsTestUtil.syncRefresh();
|
||||
}
|
||||
|
||||
private void deleteInCommand(final VirtualFile f) {
|
||||
|
||||
@@ -23,6 +23,7 @@ import com.intellij.psi.impl.source.PostprocessReformattingAspect;
|
||||
import com.intellij.psi.search.GlobalSearchScope;
|
||||
import com.intellij.testFramework.JavaPsiTestCase;
|
||||
import com.intellij.testFramework.PsiTestUtil;
|
||||
import com.intellij.testFramework.VfsTestUtil;
|
||||
import com.intellij.util.ui.UIUtil;
|
||||
|
||||
import java.io.File;
|
||||
@@ -330,7 +331,7 @@ public class FileManagerTest extends JavaPsiTestCase {
|
||||
|
||||
assertFalse(oldTimestamp == newTimestamp);
|
||||
|
||||
VirtualFileManager.getInstance().syncRefresh();
|
||||
VfsTestUtil.syncRefresh();
|
||||
UIUtil.dispatchAllInvocationEvents();
|
||||
|
||||
fileManager.checkConsistency();
|
||||
|
||||
@@ -3,7 +3,6 @@ package com.intellij.openapi.roots.impl
|
||||
|
||||
import com.intellij.openapi.Disposable
|
||||
import com.intellij.openapi.application.runReadAction
|
||||
import com.intellij.openapi.application.runWriteActionAndWait
|
||||
import com.intellij.openapi.module.Module
|
||||
import com.intellij.openapi.roots.ModuleRootModificationUtil
|
||||
import com.intellij.openapi.roots.ProjectFileIndex
|
||||
@@ -15,6 +14,7 @@ import com.intellij.openapi.vfs.newvfs.BulkFileListener
|
||||
import com.intellij.openapi.vfs.newvfs.events.VFileCreateEvent
|
||||
import com.intellij.openapi.vfs.newvfs.events.VFileEvent
|
||||
import com.intellij.testFramework.HeavyPlatformTestCase
|
||||
import com.intellij.testFramework.VfsTestUtil
|
||||
import com.intellij.testFramework.junit5.TestApplication
|
||||
import com.intellij.testFramework.junit5.TestDisposable
|
||||
import com.intellij.testFramework.rules.ProjectModelExtension
|
||||
@@ -89,9 +89,7 @@ class UpdateProjectFileIndexOnVfsChangesTest {
|
||||
assertTrue(finished)
|
||||
}
|
||||
else {
|
||||
runWriteActionAndWait {
|
||||
VirtualFileManager.getInstance().syncRefresh()
|
||||
}
|
||||
VfsTestUtil.syncRefresh()
|
||||
}
|
||||
listener.assertNoErrors()
|
||||
}
|
||||
|
||||
@@ -34,6 +34,26 @@ public final class VfsTestUtil {
|
||||
|
||||
private VfsTestUtil() { }
|
||||
|
||||
/**
|
||||
* Invokes VirtualFileManager.syncRefresh() and waits until indexes are ready after VFS refresh
|
||||
*/
|
||||
public static void syncRefresh() {
|
||||
if (ApplicationManager.getApplication().isWriteAccessAllowed()) {
|
||||
VirtualFileManager.getInstance().syncRefresh();
|
||||
IndexingTestUtil.waitUntilIndexesAreReadyInAllOpenedProjects();
|
||||
}
|
||||
else if (ApplicationManager.getApplication().isDispatchThread()) {
|
||||
WriteAction.compute(VirtualFileManager.getInstance()::syncRefresh);
|
||||
IndexingTestUtil.waitUntilIndexesAreReadyInAllOpenedProjects();
|
||||
}
|
||||
else {
|
||||
ApplicationManager.getApplication().invokeAndWait(() -> {
|
||||
WriteAction.compute(VirtualFileManager.getInstance()::syncRefresh);
|
||||
});
|
||||
IndexingTestUtil.waitUntilIndexesAreReadyInAllOpenedProjects();
|
||||
}
|
||||
}
|
||||
|
||||
public static @NotNull VirtualFile createFile(@NotNull VirtualFile root, @NotNull String relativePath) {
|
||||
return createFile(root, relativePath, (byte[])null);
|
||||
}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
// Copyright 2000-2021 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
|
||||
package com.intellij.openapi.vcs.changes.committed;
|
||||
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.util.EmptyRunnable;
|
||||
import com.intellij.openapi.util.Pair;
|
||||
import com.intellij.openapi.vcs.ProjectLevelVcsManager;
|
||||
@@ -15,10 +14,10 @@ import com.intellij.openapi.vcs.update.FileGroup;
|
||||
import com.intellij.openapi.vcs.update.UpdatedFiles;
|
||||
import com.intellij.openapi.vcs.versionBrowser.CommittedChangeList;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.openapi.vfs.VirtualFileManager;
|
||||
import com.intellij.testFramework.HeavyPlatformTestCase;
|
||||
import com.intellij.testFramework.PsiTestUtil;
|
||||
import com.intellij.testFramework.RunAll;
|
||||
import com.intellij.testFramework.VfsTestUtil;
|
||||
import com.intellij.util.messages.MessageBusConnection;
|
||||
import com.intellij.vcsUtil.VcsUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@@ -309,9 +308,7 @@ public class CommittedChangesCacheTest extends HeavyPlatformTestCase {
|
||||
private File createTestFile(final String fileName) throws IOException {
|
||||
final File testFile = new File(myContentRoot.getPath(), fileName);
|
||||
testFile.createNewFile();
|
||||
ApplicationManager.getApplication().runWriteAction(() -> {
|
||||
VirtualFileManager.getInstance().syncRefresh();
|
||||
});
|
||||
VfsTestUtil.syncRefresh();
|
||||
return testFile;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
// Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
|
||||
package com.intellij.openapi.vcs.changes.committed;
|
||||
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.util.io.FileUtil;
|
||||
import com.intellij.openapi.vcs.FilterDescendantVirtualFiles;
|
||||
import com.intellij.openapi.vfs.LocalFileSystem;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.openapi.vfs.VirtualFileManager;
|
||||
import com.intellij.testFramework.HeavyPlatformTestCase;
|
||||
import com.intellij.testFramework.VfsTestUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.io.File;
|
||||
@@ -66,8 +65,6 @@ public class FilterDescendantFilesTest extends HeavyPlatformTestCase {
|
||||
}
|
||||
|
||||
private static void syncRefresh() {
|
||||
ApplicationManager.getApplication().runWriteAction(() -> {
|
||||
VirtualFileManager.getInstance().syncRefresh();
|
||||
});
|
||||
VfsTestUtil.syncRefresh();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,11 +3,10 @@ package org.jetbrains.plugins.gradle.compiler;
|
||||
|
||||
import com.intellij.openapi.roots.OrderEnumerator;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.openapi.vfs.VirtualFileManager;
|
||||
import com.intellij.task.ProjectTaskContext;
|
||||
import com.intellij.task.ProjectTaskListener;
|
||||
import com.intellij.task.ProjectTaskManager;
|
||||
import com.intellij.testFramework.EdtTestUtil;
|
||||
import com.intellij.testFramework.VfsTestUtil;
|
||||
import com.intellij.util.PathUtil;
|
||||
import com.intellij.util.PathsList;
|
||||
import com.intellij.util.messages.MessageBusConnection;
|
||||
@@ -54,7 +53,7 @@ public class GradleDelegatedBuildTest extends GradleDelegatedBuildTestCase {
|
||||
"project.impl", "project.impl.main", "project.impl.test");
|
||||
|
||||
|
||||
EdtTestUtil.runInEdtAndWait(() -> VirtualFileManager.getInstance().syncRefresh());
|
||||
VfsTestUtil.syncRefresh();
|
||||
PathsList pathsBeforeMake = new PathsList();
|
||||
OrderEnumerator.orderEntries(getModule("project.main")).withoutSdk().recursively().runtimeOnly().classes()
|
||||
.collectPaths(pathsBeforeMake);
|
||||
|
||||
@@ -6,13 +6,13 @@ import com.intellij.openapi.fileEditor.FileDocumentManager;
|
||||
import com.intellij.openapi.vfs.LocalFileSystem;
|
||||
import com.intellij.openapi.vfs.VfsUtilCore;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.openapi.vfs.VirtualFileManager;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.impl.source.PostprocessReformattingAspect;
|
||||
import com.intellij.refactoring.PackageWrapper;
|
||||
import com.intellij.refactoring.move.moveClassesOrPackages.MoveClassesOrPackagesProcessor;
|
||||
import com.intellij.refactoring.move.moveClassesOrPackages.SingleSourceRootMoveDestination;
|
||||
import com.intellij.testFramework.PlatformTestUtil;
|
||||
import com.intellij.testFramework.VfsTestUtil;
|
||||
import com.intellij.testFramework.fixtures.LightJavaCodeInsightFixtureTestCase;
|
||||
import org.jetbrains.plugins.groovy.util.TestUtils;
|
||||
|
||||
@@ -93,7 +93,7 @@ public class GroovyMoveScriptTest extends LightJavaCodeInsightFixtureTestCase {
|
||||
//File expectedRoot = new File(getTestDataPath() + testName + "/after");
|
||||
PostprocessReformattingAspect.getInstance(getProject()).doPostponedFormatting();
|
||||
|
||||
VirtualFileManager.getInstance().syncRefresh();
|
||||
VfsTestUtil.syncRefresh();
|
||||
try {
|
||||
PlatformTestUtil.assertDirectoriesEqual(expectedRoot, actualRoot);
|
||||
}
|
||||
|
||||
@@ -10,7 +10,6 @@ import com.intellij.openapi.application.runInEdt
|
||||
import com.intellij.openapi.application.runWriteAction
|
||||
import com.intellij.openapi.externalSystem.service.project.manage.ExternalProjectsManagerImpl
|
||||
import com.intellij.openapi.module.ModuleManager
|
||||
import com.intellij.openapi.progress.runBlockingCancellable
|
||||
import com.intellij.openapi.progress.runBlockingMaybeCancellable
|
||||
import com.intellij.openapi.project.DumbService
|
||||
import com.intellij.openapi.project.Project
|
||||
@@ -21,9 +20,9 @@ import com.intellij.openapi.vcs.changes.ChangeListManager
|
||||
import com.intellij.openapi.vcs.changes.ChangeListManagerImpl
|
||||
import com.intellij.openapi.vfs.LocalFileSystem
|
||||
import com.intellij.openapi.vfs.VfsUtil
|
||||
import com.intellij.openapi.vfs.VirtualFileManager
|
||||
import com.intellij.testFramework.TestApplicationManager
|
||||
import com.intellij.testFramework.UsefulTestCase.assertTrue
|
||||
import com.intellij.testFramework.VfsTestUtil
|
||||
import com.intellij.testFramework.runInEdtAndWait
|
||||
import org.jetbrains.kotlin.idea.configuration.getModulesWithKotlinFiles
|
||||
import org.jetbrains.kotlin.idea.configuration.ui.KotlinConfigurationCheckerService
|
||||
@@ -204,9 +203,7 @@ enum class ProjectOpenAction {
|
||||
VfsUtil.markDirtyAndRefresh(false, true, true, parent)
|
||||
}
|
||||
|
||||
runInEdtAndWait {
|
||||
VirtualFileManager.getInstance().syncRefresh()
|
||||
}
|
||||
VfsTestUtil.syncRefresh()
|
||||
|
||||
//runWriteAction { project.save() }
|
||||
}
|
||||
|
||||
@@ -17,26 +17,21 @@ package org.jetbrains.idea.maven.dom
|
||||
|
||||
import com.intellij.maven.testFramework.MavenDomTestCase
|
||||
import com.intellij.openapi.application.ApplicationManager
|
||||
import com.intellij.openapi.application.EDT
|
||||
import com.intellij.openapi.application.readAction
|
||||
import com.intellij.openapi.editor.Document
|
||||
import com.intellij.openapi.vfs.VirtualFile
|
||||
import com.intellij.openapi.vfs.VirtualFileManager
|
||||
import com.intellij.openapi.vfs.newvfs.BulkFileListener
|
||||
import com.intellij.openapi.vfs.newvfs.events.VFileEvent
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import com.intellij.testFramework.VfsTestUtil
|
||||
import kotlinx.coroutines.runBlocking
|
||||
import kotlinx.coroutines.withContext
|
||||
import org.jetbrains.idea.maven.utils.MavenLog
|
||||
import org.junit.Test
|
||||
|
||||
class MavenDomSoftReferencesInParentTest : MavenDomTestCase() {
|
||||
override fun setUp() = runBlocking {
|
||||
super.setUp()
|
||||
withContext(Dispatchers.EDT) {
|
||||
VirtualFileManager.getInstance().syncRefresh()
|
||||
}
|
||||
Unit
|
||||
VfsTestUtil.syncRefresh()
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
@@ -20,7 +20,6 @@ import com.intellij.openapi.fileEditor.FileDocumentManager
|
||||
import com.intellij.openapi.util.Comparing
|
||||
import com.intellij.openapi.vfs.VfsUtilCore
|
||||
import com.intellij.openapi.vfs.VirtualFile
|
||||
import com.intellij.openapi.vfs.VirtualFileManager
|
||||
import com.intellij.psi.PsiElement
|
||||
import com.intellij.psi.PsiFile
|
||||
import com.intellij.psi.PsiManager
|
||||
@@ -35,6 +34,7 @@ import com.intellij.refactoring.rename.RenameHandlerRegistry
|
||||
import com.intellij.refactoring.rename.inplace.VariableInplaceRenameHandler
|
||||
import com.intellij.refactoring.util.CommonRefactoringUtil.RefactoringErrorHintException
|
||||
import com.intellij.testFramework.MapDataContext
|
||||
import com.intellij.testFramework.VfsTestUtil
|
||||
import com.intellij.testFramework.fixtures.CodeInsightTestFixture
|
||||
import com.intellij.testFramework.fixtures.CodeInsightTestUtil
|
||||
import com.intellij.testFramework.fixtures.IdeaTestFixtureFactory
|
||||
@@ -395,7 +395,7 @@ abstract class MavenDomTestCase : MavenMultiVersionImportingTestCase() {
|
||||
protected suspend fun checkHighlighting(f: VirtualFile) {
|
||||
withContext(Dispatchers.EDT) {
|
||||
MavenLog.LOG.warn("checkHighlighting started")
|
||||
VirtualFileManager.getInstance().syncRefresh()
|
||||
VfsTestUtil.syncRefresh()
|
||||
MavenLog.LOG.warn("checkHighlighting: VFS refreshed")
|
||||
FileDocumentManager.getInstance().saveAllDocuments()
|
||||
UIUtil.dispatchAllInvocationEvents()
|
||||
|
||||
@@ -6,13 +6,13 @@ import com.intellij.ide.util.gotoByName.ChooseByNamePopup
|
||||
import com.intellij.ide.util.gotoByName.ChooseByNameViewModel
|
||||
import com.intellij.mock.MockProgressIndicator
|
||||
import com.intellij.openapi.project.Project
|
||||
import com.intellij.openapi.vfs.VirtualFileManager
|
||||
import com.intellij.searchEverywhereMl.SearchEverywhereTabWithMlRanking
|
||||
import com.intellij.searchEverywhereMl.ranking.core.features.FeaturesProviderCache
|
||||
import com.intellij.searchEverywhereMl.ranking.core.features.HeavyFeaturesProviderTestCase
|
||||
import com.intellij.searchEverywhereMl.ranking.core.features.SearchEverywhereElementFeaturesProvider
|
||||
import com.intellij.searchEverywhereMl.ranking.core.features.SearchEverywhereFileFeaturesProvider
|
||||
import com.intellij.searchEverywhereMl.ranking.core.model.SearchEverywhereModelProvider
|
||||
import com.intellij.testFramework.VfsTestUtil
|
||||
|
||||
internal abstract class SearchEverywhereRankingModelTest
|
||||
: HeavyFeaturesProviderTestCase<SearchEverywhereFileFeaturesProvider>(SearchEverywhereFileFeaturesProvider::class.java) {
|
||||
@@ -24,7 +24,7 @@ internal abstract class SearchEverywhereRankingModelTest
|
||||
protected abstract fun filterElements(searchQuery: String): List<FoundItemDescriptor<*>>
|
||||
|
||||
protected fun performSearchFor(searchQuery: String, featuresProviderCache: FeaturesProviderCache? = null): RankingAssertion {
|
||||
VirtualFileManager.getInstance().syncRefresh()
|
||||
VfsTestUtil.syncRefresh()
|
||||
val rankedElements: List<FoundItemDescriptor<*>> = filterElements(searchQuery)
|
||||
.associateWith { getMlWeight(it, searchQuery, featuresProviderCache) }
|
||||
.entries
|
||||
|
||||
@@ -25,11 +25,11 @@ import com.intellij.openapi.editor.RangeMarker;
|
||||
import com.intellij.openapi.util.TextRange;
|
||||
import com.intellij.openapi.util.io.FileUtil;
|
||||
import com.intellij.openapi.vfs.VfsUtil;
|
||||
import com.intellij.openapi.vfs.VirtualFileManager;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.codeStyle.CodeStyleManager;
|
||||
import com.intellij.psi.xml.*;
|
||||
import com.intellij.testFramework.LightJavaCodeInsightTestCase;
|
||||
import com.intellij.testFramework.VfsTestUtil;
|
||||
import com.intellij.util.ArrayUtil;
|
||||
import com.intellij.util.IncorrectOperationException;
|
||||
import com.intellij.util.LocalTimeCounter;
|
||||
@@ -748,7 +748,7 @@ public class XmlTagTest extends LightJavaCodeInsightTestCase {
|
||||
FileUtil.writeToFile(tempFile, text);
|
||||
|
||||
ApplicationManager.getApplication().runWriteAction(() -> CommandProcessor.getInstance().executeCommand(getProject(), () -> {
|
||||
VirtualFileManager.getInstance().syncRefresh();
|
||||
VfsTestUtil.syncRefresh();
|
||||
XmlFile file ;//createTemporaryFile("wpd.xml", text));
|
||||
try {
|
||||
file = (XmlFile)getPsiManager().findFile(VfsUtil.findFileByURL(tempFile.toURL()));
|
||||
|
||||
Reference in New Issue
Block a user