diff --git a/java/compiler/tests/com/intellij/compiler/artifacts/PackagingElementsTestCase.java b/java/compiler/tests/com/intellij/compiler/artifacts/PackagingElementsTestCase.java index 8771f0699a76..89acbd99e1c3 100644 --- a/java/compiler/tests/com/intellij/compiler/artifacts/PackagingElementsTestCase.java +++ b/java/compiler/tests/com/intellij/compiler/artifacts/PackagingElementsTestCase.java @@ -14,6 +14,7 @@ import com.intellij.openapi.vfs.VirtualFile; import com.intellij.packaging.artifacts.Artifact; import com.intellij.packaging.elements.PackagingElement; import com.intellij.project.IntelliJProjectConfiguration; +import com.intellij.testFramework.IndexingTestUtil; import com.intellij.testFramework.VfsTestUtil; import org.jetbrains.annotations.Nullable; @@ -93,9 +94,11 @@ public abstract class PackagingElementsTestCase extends ArtifactsTestCase { protected static void addModuleLibrary(final Module module, final VirtualFile jar) { ModuleRootModificationUtil.addModuleLibrary(module, jar.getUrl()); + IndexingTestUtil.waitUntilIndexesAreReady(module.getProject()); } protected static void addModuleDependency(final Module module, final Module dependency) { ModuleRootModificationUtil.addDependency(module, dependency); + IndexingTestUtil.waitUntilIndexesAreReady(module.getProject()); } } diff --git a/java/idea-ui/testSrc/com/intellij/facet/FacetLibrariesValidatorTest.java b/java/idea-ui/testSrc/com/intellij/facet/FacetLibrariesValidatorTest.java index 196460d2237a..3c0ea4a1fda0 100644 --- a/java/idea-ui/testSrc/com/intellij/facet/FacetLibrariesValidatorTest.java +++ b/java/idea-ui/testSrc/com/intellij/facet/FacetLibrariesValidatorTest.java @@ -15,6 +15,7 @@ import com.intellij.openapi.roots.ModuleRootModificationUtil; import com.intellij.openapi.roots.OrderEnumerator; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.project.IntelliJProjectConfiguration; +import com.intellij.testFramework.IndexingTestUtil; import com.intellij.testFramework.PsiTestUtil; import org.jetbrains.annotations.NonNls; @@ -83,10 +84,12 @@ public class FacetLibrariesValidatorTest extends FacetTestCase { assertError(""); ModuleRootModificationUtil.addModuleLibrary(myModule, myFastUtilJar.getUrl()); + IndexingTestUtil.waitUntilIndexesAreReady(myProject); myValidatorsManager.validate(); assertError("junit"); ModuleRootModificationUtil.addModuleLibrary(myModule, myJUnitJar.getUrl()); + IndexingTestUtil.waitUntilIndexesAreReady(myProject); myValidatorsManager.validate(); validator.onFacetInitialized(createFacet()); diff --git a/java/java-tests/testSrc/com/intellij/java/codeInsight/ClsGenericsHighlightingTest.java b/java/java-tests/testSrc/com/intellij/java/codeInsight/ClsGenericsHighlightingTest.java index 4a8725d70f19..efc70e634a4e 100644 --- a/java/java-tests/testSrc/com/intellij/java/codeInsight/ClsGenericsHighlightingTest.java +++ b/java/java-tests/testSrc/com/intellij/java/codeInsight/ClsGenericsHighlightingTest.java @@ -28,6 +28,7 @@ import com.intellij.openapi.vfs.VfsUtilCore; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.pom.java.LanguageLevel; import com.intellij.testFramework.IdeaTestUtil; +import com.intellij.testFramework.IndexingTestUtil; import com.intellij.testFramework.UsefulTestCase; import com.intellij.testFramework.builders.JavaModuleFixtureBuilder; import com.intellij.testFramework.fixtures.*; @@ -79,6 +80,7 @@ public abstract class ClsGenericsHighlightingTest extends UsefulTestCase { String contentUrl = VfsUtilCore.pathToUrl(myFixture.getTempDirPath()); model.addContentEntry(contentUrl).addSourceFolder(contentUrl, false); }); + IndexingTestUtil.waitUntilIndexesAreReady(myFixture.getProject()); } protected static void commitLibraryModel(ModifiableRootModel model, String testDataPath, String @NotNull ... libraryPath) { diff --git a/java/java-tests/testSrc/com/intellij/java/codeInsight/MultipleJdksHighlightingTest.java b/java/java-tests/testSrc/com/intellij/java/codeInsight/MultipleJdksHighlightingTest.java index f0fd28be7307..adbec1c01904 100644 --- a/java/java-tests/testSrc/com/intellij/java/codeInsight/MultipleJdksHighlightingTest.java +++ b/java/java-tests/testSrc/com/intellij/java/codeInsight/MultipleJdksHighlightingTest.java @@ -34,6 +34,7 @@ import com.intellij.psi.search.searches.ClassInheritorsSearch; import com.intellij.psi.search.searches.MethodReferencesSearch; import com.intellij.psi.util.PsiUtilCore; import com.intellij.testFramework.IdeaTestUtil; +import com.intellij.testFramework.IndexingTestUtil; import com.intellij.testFramework.PsiTestUtil; import com.intellij.testFramework.UsefulTestCase; import com.intellij.testFramework.builders.JavaModuleFixtureBuilder; @@ -97,6 +98,7 @@ public class MultipleJdksHighlightingTest extends UsefulTestCase { ModuleRootModificationUtil.updateModel(myJava3Module, model -> model.addContentEntry(java3Root).addSourceFolder(java3Root, false)); ModuleRootModificationUtil.updateModel(myJava7Module, model -> model.addContentEntry(java7Root).addSourceFolder(java7Root, false)); ModuleRootModificationUtil.updateModel(myJava8Module, model -> model.addContentEntry(java8Root).addSourceFolder(java8Root, false)); + IndexingTestUtil.waitUntilIndexesAreReady(myFixture.getProject()); } private void addDependencies_37_78() { diff --git a/java/java-tests/testSrc/com/intellij/java/codeInsight/daemon/AdvHighlightingTest.java b/java/java-tests/testSrc/com/intellij/java/codeInsight/daemon/AdvHighlightingTest.java index 7de3fef18cda..1746d5c527c5 100644 --- a/java/java-tests/testSrc/com/intellij/java/codeInsight/daemon/AdvHighlightingTest.java +++ b/java/java-tests/testSrc/com/intellij/java/codeInsight/daemon/AdvHighlightingTest.java @@ -35,6 +35,7 @@ import com.intellij.psi.search.scope.packageSet.NamedScopeManager; import com.intellij.psi.search.scope.packageSet.NamedScopesHolder; import com.intellij.psi.search.scope.packageSet.PatternPackageSet; import com.intellij.testFramework.IdeaTestUtil; +import com.intellij.testFramework.IndexingTestUtil; import com.intellij.util.concurrency.AppExecutorUtil; import com.intellij.util.ui.UIUtil; import org.intellij.lang.annotations.Language; @@ -145,6 +146,7 @@ public class AdvHighlightingTest extends DaemonAnalyzerTestCase { WriteAction.runAndWait(() -> ProjectJdkTable.getInstance().addJdk(jdk171, getTestRootDisposable())); ModuleRootModificationUtil.setModuleSdk(java5, jdk171); ModuleRootModificationUtil.addDependency(java5, java4); + IndexingTestUtil.waitUntilIndexesAreReady(getProject()); configureByExistingFile(root.findFileByRelativePath("moduleJava5/com/Java5.java")); Collection infos = highlightErrors(); diff --git a/java/java-tests/testSrc/com/intellij/java/execution/AbstractTestFrameworkIntegrationTest.java b/java/java-tests/testSrc/com/intellij/java/execution/AbstractTestFrameworkIntegrationTest.java index 7064ac5f5db7..f2c07830dc54 100644 --- a/java/java-tests/testSrc/com/intellij/java/execution/AbstractTestFrameworkIntegrationTest.java +++ b/java/java-tests/testSrc/com/intellij/java/execution/AbstractTestFrameworkIntegrationTest.java @@ -33,6 +33,7 @@ import com.intellij.openapi.vfs.JarFileSystem; import com.intellij.openapi.vfs.LocalFileSystem; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.platform.testFramework.io.ExternalResourcesChecker; +import com.intellij.testFramework.IndexingTestUtil; import com.intellij.testFramework.PlatformTestUtil; import com.intellij.util.SystemProperties; import jetbrains.buildServer.messages.serviceMessages.ServiceMessage; @@ -156,6 +157,7 @@ public abstract class AbstractTestFrameworkIntegrationTest extends BaseConfigura VirtualFile jarRoot = JarFileSystem.getInstance().getJarRootForLocalFile(libJarLocal); ModuleRootModificationUtil.addModuleLibrary(module, jarRoot.getUrl()); } + IndexingTestUtil.waitUntilIndexesAreReady(module.getProject()); } protected static ArtifactRepositoryManager getRepoManager() { diff --git a/java/java-tests/testSrc/com/intellij/java/execution/ApplicationModulePathTest.java b/java/java-tests/testSrc/com/intellij/java/execution/ApplicationModulePathTest.java index 4a57752503f4..9f5bb1f97ef7 100644 --- a/java/java-tests/testSrc/com/intellij/java/execution/ApplicationModulePathTest.java +++ b/java/java-tests/testSrc/com/intellij/java/execution/ApplicationModulePathTest.java @@ -20,6 +20,7 @@ import com.intellij.openapi.vfs.LocalFileSystem; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.PsiClass; import com.intellij.testFramework.IdeaTestUtil; +import com.intellij.testFramework.IndexingTestUtil; import com.intellij.util.PathUtil; import com.intellij.util.PathsList; @@ -86,6 +87,7 @@ public class ApplicationModulePathTest extends BaseConfigurationTestCase { Sdk jdk9 = IdeaTestUtil.getMockJdk9(); WriteAction.runAndWait(()-> ProjectJdkTable.getInstance().addJdk(jdk9, parentDisposable)); ModuleRootModificationUtil.setModuleSdk(module, jdk9); + IndexingTestUtil.waitUntilIndexesAreReady(module.getProject()); } protected static VirtualFile getContentRoot(String path) { diff --git a/java/java-tests/testSrc/com/intellij/java/execution/BaseConfigurationTestCase.java b/java/java-tests/testSrc/com/intellij/java/execution/BaseConfigurationTestCase.java index 815b83fbada6..6431d349fc73 100644 --- a/java/java-tests/testSrc/com/intellij/java/execution/BaseConfigurationTestCase.java +++ b/java/java-tests/testSrc/com/intellij/java/execution/BaseConfigurationTestCase.java @@ -91,6 +91,7 @@ public abstract class BaseConfigurationTestCase extends JavaProjectTestCase { Module missingModule = createTempModule(); addDependency(module, missingModule); ModuleManager.getInstance(myProject).disposeModule(missingModule); + IndexingTestUtil.waitUntilIndexesAreReady(getProject()); } protected @NotNull Module createEmptyModule() { @@ -108,6 +109,7 @@ public abstract class BaseConfigurationTestCase extends JavaProjectTestCase { ModuleManager moduleManager = ModuleManager.getInstance(project); Module result = WriteAction.compute(() -> moduleManager.newModule(tempPath, StdModuleTypes.JAVA.getId())); PlatformTestUtil.saveProject(project); + IndexingTestUtil.waitUntilIndexesAreReady(project); return result; } diff --git a/java/java-tests/testSrc/com/intellij/java/execution/TestSources.java b/java/java-tests/testSrc/com/intellij/java/execution/TestSources.java index dc4632510e35..95a72ff0d001 100644 --- a/java/java-tests/testSrc/com/intellij/java/execution/TestSources.java +++ b/java/java-tests/testSrc/com/intellij/java/execution/TestSources.java @@ -11,6 +11,7 @@ import com.intellij.psi.JavaPsiFacade; import com.intellij.psi.PsiClass; import com.intellij.psi.PsiPackage; import com.intellij.psi.search.GlobalSearchScope; +import com.intellij.testFramework.IndexingTestUtil; import com.intellij.testFramework.PsiTestUtil; import com.intellij.testFramework.TemporaryDirectory; import com.intellij.testFramework.VfsTestUtil; @@ -61,6 +62,7 @@ final class TestSources { Module tempModule = BaseConfigurationTestCase.createTempModule(tempDir, myProject); ModuleRootModificationUtil.addDependency(myModule, tempModule); disposeModule(tempModule); + IndexingTestUtil.waitUntilIndexesAreReady(myProject); } private void disposeModule(@NotNull Module tempModule) { @@ -69,10 +71,12 @@ final class TestSources { public void copyJdkFrom(@NotNull Module module) { ModuleRootModificationUtil.setModuleSdk(myModule, ModuleRootManager.getInstance(module).getSdk()); + IndexingTestUtil.waitUntilIndexesAreReady(myProject); } public void addLibrary(@NotNull VirtualFile lib) { ModuleRootModificationUtil.addModuleLibrary(myModule, lib.getUrl()); + IndexingTestUtil.waitUntilIndexesAreReady(myProject); } public @NotNull VirtualFile createPackageDir(@NotNull String packageName) { diff --git a/java/java-tests/testSrc/com/intellij/java/openapi/roots/impl/ProjectLibrariesTest.java b/java/java-tests/testSrc/com/intellij/java/openapi/roots/impl/ProjectLibrariesTest.java index 1c1866f3d492..8c100b193493 100644 --- a/java/java-tests/testSrc/com/intellij/java/openapi/roots/impl/ProjectLibrariesTest.java +++ b/java/java-tests/testSrc/com/intellij/java/openapi/roots/impl/ProjectLibrariesTest.java @@ -28,6 +28,7 @@ import com.intellij.openapi.util.Computable; import com.intellij.openapi.vfs.LocalFileSystem; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.search.GlobalSearchScope; +import com.intellij.testFramework.IndexingTestUtil; import com.intellij.testFramework.JavaProjectTestCase; import java.util.Arrays; @@ -61,6 +62,7 @@ public class ProjectLibrariesTest extends JavaProjectTestCase { ApplicationManager.getApplication().runWriteAction(() -> { model.addRoot(myRoot, OrderRootType.CLASSES); model.commit(); + IndexingTestUtil.waitUntilIndexesAreReady(myProject); }); assertNotNull(getJavaFacade().findClass("pack.MyClass", GlobalSearchScope.moduleWithDependenciesAndLibrariesScope(myModule))); @@ -77,13 +79,17 @@ public class ProjectLibrariesTest extends JavaProjectTestCase { ApplicationManager.getApplication().runWriteAction(() -> { libModel.addRoot(myRoot, OrderRootType.CLASSES); libModel.commit(); + IndexingTestUtil.waitUntilIndexesAreReady(myProject); }); assertNotNull(getJavaFacade().findClass("pack.MyClass", GlobalSearchScope.moduleWithDependenciesAndLibrariesScope(myModule))); assertTrue(Arrays.asList(moduleModel.orderEntries().librariesOnly().classes().getRoots()).contains(myRoot)); } finally { - ApplicationManager.getApplication().runWriteAction(() -> moduleModel.commit()); + ApplicationManager.getApplication().runWriteAction(() -> { + moduleModel.commit(); + IndexingTestUtil.waitUntilIndexesAreReady(myProject); + }); } assertNotNull(getJavaFacade().findClass("pack.MyClass", GlobalSearchScope.moduleWithDependenciesAndLibrariesScope(myModule))); diff --git a/java/java-tests/testSrc/com/intellij/java/psi/FindClassInDeepPackagesTest.java b/java/java-tests/testSrc/com/intellij/java/psi/FindClassInDeepPackagesTest.java index 07884c4efc6c..f616e013c8e3 100644 --- a/java/java-tests/testSrc/com/intellij/java/psi/FindClassInDeepPackagesTest.java +++ b/java/java-tests/testSrc/com/intellij/java/psi/FindClassInDeepPackagesTest.java @@ -24,6 +24,7 @@ import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.JavaPsiFacade; import com.intellij.psi.PsiClass; import com.intellij.psi.search.GlobalSearchScope; +import com.intellij.testFramework.IndexingTestUtil; import com.intellij.testFramework.JavaPsiTestCase; import java.io.File; @@ -42,6 +43,7 @@ public class FindClassInDeepPackagesTest extends JavaPsiTestCase { }); assertNotNull(classesRoot); ModuleRootModificationUtil.addModuleLibrary(myModule, classesRoot.getUrl()); + IndexingTestUtil.waitUntilIndexesAreReady(getProject()); } public void testSRC() { diff --git a/java/java-tests/testSrc/com/intellij/java/psi/JavaDirectoryServiceHeavyTest.java b/java/java-tests/testSrc/com/intellij/java/psi/JavaDirectoryServiceHeavyTest.java index c351c87aee81..8f92bc69a226 100644 --- a/java/java-tests/testSrc/com/intellij/java/psi/JavaDirectoryServiceHeavyTest.java +++ b/java/java-tests/testSrc/com/intellij/java/psi/JavaDirectoryServiceHeavyTest.java @@ -24,6 +24,7 @@ import com.intellij.psi.PsiDirectory; import com.intellij.psi.impl.JavaPsiImplementationHelper; import com.intellij.psi.util.PsiUtil; import com.intellij.testFramework.IdeaTestUtil; +import com.intellij.testFramework.IndexingTestUtil; import com.intellij.testFramework.PsiTestUtil; import com.intellij.testFramework.fixtures.JavaCodeInsightFixtureTestCase; import com.intellij.testFramework.fixtures.impl.TempDirTestFixtureImpl; @@ -32,6 +33,7 @@ public class JavaDirectoryServiceHeavyTest extends JavaCodeInsightFixtureTestCas public void testCreatingEnumInLanguageLevel3Project() { LanguageLevelProjectExtension.getInstance(getProject()).setLanguageLevel(LanguageLevel.JDK_1_3); IdeaTestUtil.setModuleLanguageLevel(getModule(), LanguageLevel.JDK_1_7); + IndexingTestUtil.waitUntilIndexesAreReady(getProject()); PsiDirectory dir = getPsiManager().findDirectory(myFixture.getTempDirFixture().getFile("")); PsiClass createdEnum = JavaDirectoryService.getInstance().createEnum(dir, "Foo"); @@ -49,6 +51,7 @@ public class JavaDirectoryServiceHeavyTest extends JavaCodeInsightFixtureTestCas LanguageLevelProjectExtension.getInstance(getProject()).setLanguageLevel(LanguageLevel.JDK_1_3); IdeaTestUtil.setModuleLanguageLevel(getModule(), LanguageLevel.JDK_1_7); + IndexingTestUtil.waitUntilIndexesAreReady(getProject()); assertEquals(LanguageLevel.JDK_1_3, JavaDirectoryService.getInstance().getLanguageLevel(getPsiManager().findDirectory(root))); assertEquals(LanguageLevel.JDK_1_3, JavaPsiImplementationHelper.getInstance(getProject()).getEffectiveLanguageLevel(root)); diff --git a/java/java-tests/testSrc/com/intellij/java/psi/LibraryOrderTest.java b/java/java-tests/testSrc/com/intellij/java/psi/LibraryOrderTest.java index 9603d85494a2..5d101c89ec13 100644 --- a/java/java-tests/testSrc/com/intellij/java/psi/LibraryOrderTest.java +++ b/java/java-tests/testSrc/com/intellij/java/psi/LibraryOrderTest.java @@ -23,6 +23,7 @@ import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.PsiClass; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiMethod; +import com.intellij.testFramework.IndexingTestUtil; import com.intellij.testFramework.JavaPsiTestCase; import java.io.File; @@ -101,5 +102,6 @@ public class LibraryOrderTest extends JavaPsiTestCase { private void addLibraryWithSourcePath(String name, VirtualFile libClasses, final VirtualFile libSource) { ModuleRootModificationUtil.addModuleLibrary(myModule, name, Collections.singletonList(libClasses.getUrl()), Collections.singletonList(libSource.getUrl())); + IndexingTestUtil.waitUntilIndexesAreReady(myProject); } } diff --git a/java/java-tests/testSrc/com/intellij/java/psi/impl/cache/impl/FindClassTest.java b/java/java-tests/testSrc/com/intellij/java/psi/impl/cache/impl/FindClassTest.java index 6bcac249eefe..dad2b071d3c8 100644 --- a/java/java-tests/testSrc/com/intellij/java/psi/impl/cache/impl/FindClassTest.java +++ b/java/java-tests/testSrc/com/intellij/java/psi/impl/cache/impl/FindClassTest.java @@ -25,6 +25,7 @@ import com.intellij.psi.search.GlobalSearchScope; import com.intellij.psi.search.PackageScope; import com.intellij.psi.util.FindClassUtil; import com.intellij.testFramework.DumbModeTestUtils; +import com.intellij.testFramework.IndexingTestUtil; import com.intellij.testFramework.JavaPsiTestCase; import com.intellij.testFramework.PsiTestUtil; import org.jetbrains.jps.model.java.JavaResourceRootType; @@ -97,6 +98,7 @@ public class FindClassTest extends JavaPsiTestCase { content.removeExcludeFolder(content.getExcludeFolders()[0]); rootModel.commit(); }); + IndexingTestUtil.waitUntilIndexesAreReady(getProject()); PsiClass psiClass = myJavaFacade.findClass("p.A", GlobalSearchScope.allScope(myProject)); assertNotNull(psiClass); @@ -198,6 +200,7 @@ public class FindClassTest extends JavaPsiTestCase { newModules.add(modifiableModel.newModule("b.iml", StdModuleTypes.JAVA.getId())); modifiableModel.commit(); }); + IndexingTestUtil.waitUntilIndexesAreReady(getProject()); return newModules; } diff --git a/java/java-tests/testSrc/com/intellij/java/psi/impl/cache/impl/SourceRootAddedAsLibraryRootTest.java b/java/java-tests/testSrc/com/intellij/java/psi/impl/cache/impl/SourceRootAddedAsLibraryRootTest.java index cbb9fcc1e58d..815fb4c2e92c 100644 --- a/java/java-tests/testSrc/com/intellij/java/psi/impl/cache/impl/SourceRootAddedAsLibraryRootTest.java +++ b/java/java-tests/testSrc/com/intellij/java/psi/impl/cache/impl/SourceRootAddedAsLibraryRootTest.java @@ -6,6 +6,7 @@ import com.intellij.openapi.vfs.LocalFileSystem; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.PsiDocumentManager; import com.intellij.psi.PsiFile; +import com.intellij.testFramework.IndexingTestUtil; import com.intellij.testFramework.JavaPsiTestCase; import com.intellij.testFramework.PsiTestUtil; @@ -29,6 +30,7 @@ public class SourceRootAddedAsLibraryRootTest extends JavaPsiTestCase { private void changeRoots() { ModuleRootModificationUtil.addModuleLibrary(myModule, myDir.getUrl()); + IndexingTestUtil.waitUntilIndexesAreReady(myProject); } public void testBug() { diff --git a/java/java-tests/testSrc/com/intellij/java/psi/impl/file/impl/PsiEventsTest.java b/java/java-tests/testSrc/com/intellij/java/psi/impl/file/impl/PsiEventsTest.java index 3ac889bf395d..de62c5d20fc2 100644 --- a/java/java-tests/testSrc/com/intellij/java/psi/impl/file/impl/PsiEventsTest.java +++ b/java/java-tests/testSrc/com/intellij/java/psi/impl/file/impl/PsiEventsTest.java @@ -21,6 +21,7 @@ import com.intellij.psi.impl.PsiTreeChangePreprocessor; import com.intellij.psi.impl.file.impl.FileManager; import com.intellij.psi.impl.file.impl.FileManagerImpl; import com.intellij.psi.search.GlobalSearchScope; +import com.intellij.testFramework.IndexingTestUtil; import com.intellij.testFramework.JavaPsiTestCase; import com.intellij.testFramework.PsiTestUtil; import com.intellij.testFramework.SkipSlowTestLocally; @@ -71,6 +72,7 @@ public class PsiEventsTest extends JavaPsiTestCase { ModuleRootModificationUtil.addModuleLibrary(myModule, myClsDir1.getUrl()); PsiTestUtil.addSourceRoot(myModule, mySrcDir3); }); + IndexingTestUtil.waitUntilIndexesAreReady(myProject); } public void testCreateFile() { diff --git a/java/java-tests/testSrc/com/intellij/java/psi/resolve/ResolveInLibraries2Test.kt b/java/java-tests/testSrc/com/intellij/java/psi/resolve/ResolveInLibraries2Test.kt index b08a1c8321d2..55ccfe212728 100644 --- a/java/java-tests/testSrc/com/intellij/java/psi/resolve/ResolveInLibraries2Test.kt +++ b/java/java-tests/testSrc/com/intellij/java/psi/resolve/ResolveInLibraries2Test.kt @@ -7,6 +7,7 @@ import com.intellij.openapi.roots.ModuleRootModificationUtil import com.intellij.openapi.vfs.VfsUtil import com.intellij.psi.JavaPsiFacade import com.intellij.psi.search.GlobalSearchScope +import com.intellij.testFramework.IndexingTestUtil import com.intellij.testFramework.fixtures.JavaCodeInsightFixtureTestCase import com.intellij.util.io.directoryContent import com.intellij.util.io.generateInVirtualTempDir @@ -40,6 +41,7 @@ class ResolveInLibraries2Test : JavaCodeInsightFixtureTestCase() { ModuleRootModificationUtil.addModuleLibrary(module, "nano1", getJarRootUrls("${libsDir.path}/foo.jar"), getJarRootUrls("${libsDir.path}/foo-src.zip")) ModuleRootModificationUtil.addModuleLibrary(module, "nano2", getJarRootUrls(jarCopy.path), getJarRootUrls(srcCopy.path)) + IndexingTestUtil.waitUntilIndexesAreReady(project) val parsers = JavaPsiFacade.getInstance(project).findClasses("foo.Foo", GlobalSearchScope.allScope(project)) assertEquals(2, parsers.size) diff --git a/java/java-tests/testSrc/com/intellij/java/psi/search/SearchInLibsTest.java b/java/java-tests/testSrc/com/intellij/java/psi/search/SearchInLibsTest.java index e920c1f01ec3..9dd8f7737a64 100644 --- a/java/java-tests/testSrc/com/intellij/java/psi/search/SearchInLibsTest.java +++ b/java/java-tests/testSrc/com/intellij/java/psi/search/SearchInLibsTest.java @@ -13,6 +13,7 @@ import com.intellij.psi.PsiReference; import com.intellij.psi.search.GlobalSearchScope; import com.intellij.psi.search.SearchScope; import com.intellij.psi.search.searches.ReferencesSearch; +import com.intellij.testFramework.IndexingTestUtil; import com.intellij.testFramework.JavaPsiTestCase; import com.intellij.testFramework.PsiTestUtil; import com.intellij.usageView.UsageInfo; @@ -50,6 +51,7 @@ public class SearchInLibsTest extends JavaPsiTestCase { List sourceRoots = Arrays.asList(libSrcRoot.getUrl(), libSrc2Root.getUrl()); List classesRoots = Collections.singletonList(libClassesRoot.getUrl()); ModuleRootModificationUtil.addModuleLibrary(myModule, "lib", classesRoots, sourceRoots); + IndexingTestUtil.waitUntilIndexesAreReady(getProject()); } public void testFindUsagesInProject() { diff --git a/java/java-tests/testSrc/com/intellij/java/testFramework/fixtures/MultiModuleJava9ProjectDescriptor.kt b/java/java-tests/testSrc/com/intellij/java/testFramework/fixtures/MultiModuleJava9ProjectDescriptor.kt index bba1555acf26..d4f765560a8d 100644 --- a/java/java-tests/testSrc/com/intellij/java/testFramework/fixtures/MultiModuleJava9ProjectDescriptor.kt +++ b/java/java-tests/testSrc/com/intellij/java/testFramework/fixtures/MultiModuleJava9ProjectDescriptor.kt @@ -13,6 +13,7 @@ import com.intellij.openapi.vfs.VirtualFile import com.intellij.openapi.vfs.ex.temp.TempFileSystem import com.intellij.pom.java.LanguageLevel import com.intellij.testFramework.IdeaTestUtil +import com.intellij.testFramework.IndexingTestUtil import com.intellij.testFramework.LightPlatformTestCase import com.intellij.testFramework.fixtures.DefaultLightProjectDescriptor import org.jetbrains.jps.model.java.JavaResourceRootType @@ -106,6 +107,7 @@ object MultiModuleJava9ProjectDescriptor : DefaultLightProjectDescriptor() { ModuleRootModificationUtil.addModuleLibrary(m6, "${libDir}/lib-named-2.0.jar!/") ModuleRootModificationUtil.addModuleLibrary(m8, "lib-with-module-info", listOf("${libDir}/lib-with-module-info.jar!/"), listOf("${libDir}/lib-with-module-info-sources.zip!/src")) } + IndexingTestUtil.waitUntilIndexesAreReady(project) } private fun makeModule(project: Project, descriptor: ModuleDescriptor): Module { diff --git a/java/java-tests/testSrc/com/intellij/roots/ExportingModulesTest.java b/java/java-tests/testSrc/com/intellij/roots/ExportingModulesTest.java index 7daa10ef8cbd..2dff9d524930 100644 --- a/java/java-tests/testSrc/com/intellij/roots/ExportingModulesTest.java +++ b/java/java-tests/testSrc/com/intellij/roots/ExportingModulesTest.java @@ -15,6 +15,7 @@ import com.intellij.project.ProjectKt; import com.intellij.psi.JavaPsiFacade; import com.intellij.psi.PsiClass; import com.intellij.psi.search.GlobalSearchScope; +import com.intellij.testFramework.IndexingTestUtil; import com.intellij.testFramework.JavaProjectTestCase; import com.intellij.testFramework.PsiTestUtil; @@ -48,6 +49,7 @@ public class ExportingModulesTest extends JavaProjectTestCase { ModuleRootModificationUtil.addDependency(moduleC[0], moduleB[0]); }); + IndexingTestUtil.waitUntilIndexesAreReady(getProject()); final PsiClass pCClass = JavaPsiFacade.getInstance(myProject).findClass("p.C", GlobalSearchScope.moduleWithDependenciesAndLibrariesScope(moduleC[0])); diff --git a/java/java-tests/testSrc/com/intellij/roots/JavaModuleExtensionsTest.kt b/java/java-tests/testSrc/com/intellij/roots/JavaModuleExtensionsTest.kt index 45c16af44a64..766c7dfdd669 100644 --- a/java/java-tests/testSrc/com/intellij/roots/JavaModuleExtensionsTest.kt +++ b/java/java-tests/testSrc/com/intellij/roots/JavaModuleExtensionsTest.kt @@ -3,6 +3,7 @@ package com.intellij.roots import com.intellij.openapi.application.runWriteActionAndWait import com.intellij.openapi.module.LanguageLevelUtil +import com.intellij.openapi.module.Module import com.intellij.openapi.project.Project import com.intellij.openapi.roots.CompilerModuleExtension import com.intellij.openapi.roots.CompilerProjectExtension @@ -12,6 +13,7 @@ import com.intellij.openapi.vfs.VfsUtilCore import com.intellij.pom.java.LanguageLevel import com.intellij.testFramework.ApplicationRule import com.intellij.testFramework.IdeaTestUtil +import com.intellij.testFramework.IndexingTestUtil import com.intellij.testFramework.rules.ProjectModelRule import com.intellij.util.io.systemIndependentPath import org.assertj.core.api.Assertions.assertThat @@ -29,15 +31,25 @@ class JavaModuleExtensionsTest { @get:Rule val projectModel = ProjectModelRule() + private fun setLanguageLevel(module: Module, newLevel: LanguageLevel) { + IdeaTestUtil.setModuleLanguageLevel(module, newLevel) + IndexingTestUtil.waitUntilIndexesAreReady(projectModel.project) + } + + private fun setLanguageLevel(project: Project, newLevel: LanguageLevel) { + LanguageLevelProjectExtension.getInstance(project).languageLevel = newLevel + IndexingTestUtil.waitUntilIndexesAreReady(project) + } + @Test fun `change custom language level`() { val module = projectModel.createModule() - IdeaTestUtil.setModuleLanguageLevel(module, LanguageLevel.JDK_1_8) + setLanguageLevel(module, LanguageLevel.JDK_1_8) assertThat(LanguageLevelUtil.getCustomLanguageLevel(module)).isEqualTo(LanguageLevel.JDK_1_8) val listener = MyLanguageLevelListener() listener.subscribe(projectModel.project) - IdeaTestUtil.setModuleLanguageLevel(module, LanguageLevel.JDK_11) + setLanguageLevel(module, LanguageLevel.JDK_11) assertThat(LanguageLevelUtil.getCustomLanguageLevel(module)).isEqualTo(LanguageLevel.JDK_11) listener.assertInvoked() } @@ -46,7 +58,7 @@ class JavaModuleExtensionsTest { fun `change project language level`() { val module = projectModel.createModule() runWriteActionAndWait { - LanguageLevelProjectExtension.getInstance(projectModel.project).languageLevel = LanguageLevel.JDK_1_8 + setLanguageLevel(projectModel.project, LanguageLevel.JDK_1_8) assertThat(LanguageLevelUtil.getCustomLanguageLevel(module)).isNull() assertThat(LanguageLevelUtil.getEffectiveLanguageLevel(module)).isEqualTo(LanguageLevel.JDK_1_8) } @@ -54,7 +66,7 @@ class JavaModuleExtensionsTest { val listener = MyLanguageLevelListener() listener.subscribe(projectModel.project) runWriteActionAndWait { - LanguageLevelProjectExtension.getInstance(projectModel.project).languageLevel = LanguageLevel.JDK_11 + setLanguageLevel(projectModel.project, LanguageLevel.JDK_11) assertThat(LanguageLevelUtil.getEffectiveLanguageLevel(module)).isEqualTo(LanguageLevel.JDK_11) } listener.assertInvoked() diff --git a/java/java-tests/testSrc/com/intellij/roots/MultiModuleEditingTest.java b/java/java-tests/testSrc/com/intellij/roots/MultiModuleEditingTest.java index e089286adff0..203e76b52774 100644 --- a/java/java-tests/testSrc/com/intellij/roots/MultiModuleEditingTest.java +++ b/java/java-tests/testSrc/com/intellij/roots/MultiModuleEditingTest.java @@ -20,6 +20,7 @@ import com.intellij.openapi.vfs.VirtualFile; import com.intellij.project.ProjectKt; import com.intellij.psi.JavaPsiFacade; import com.intellij.psi.search.GlobalSearchScope; +import com.intellij.testFramework.IndexingTestUtil; import com.intellij.testFramework.JavaModuleTestCase; import com.intellij.util.messages.MessageBusConnection; import org.jetbrains.annotations.NotNull; @@ -61,6 +62,7 @@ public class MultiModuleEditingTest extends JavaModuleTestCase { //noinspection SSBasedInspection moduleListener.assertCorrectEvents(new String[0][]); ApplicationManager.getApplication().runWriteAction(modifiableModel::commit); + IndexingTestUtil.waitUntilIndexesAreReady(getProject()); } assertEquals(2, moduleManager.getModules().length); @@ -75,6 +77,7 @@ public class MultiModuleEditingTest extends JavaModuleTestCase { assertEquals("Changes are not applied until commit", 2, moduleManager.getModules().length); moduleListener.assertCorrectEvents(new String[][]{{"+a", "+b"}}); ApplicationManager.getApplication().runWriteAction(modifiableModel::commit); + IndexingTestUtil.waitUntilIndexesAreReady(getProject()); } assertEquals(0, moduleManager.getModules().length); @@ -106,6 +109,7 @@ public class MultiModuleEditingTest extends JavaModuleTestCase { contentEntryB.addSourceFolder(getVirtualFileInTestData("b/src"), false); ApplicationManager.getApplication().runWriteAction(() -> ModifiableModelCommitter.multiCommit(new ModifiableRootModel[]{rootModelB, rootModelA}, moduleModel)); + IndexingTestUtil.waitUntilIndexesAreReady(getProject()); } final JavaPsiFacade psiManager = getJavaFacade(); @@ -140,6 +144,7 @@ public class MultiModuleEditingTest extends JavaModuleTestCase { rootModelB.addModuleOrderEntry(moduleC); moduleModel.disposeModule(moduleC); ApplicationManager.getApplication().runWriteAction(() -> ModifiableModelCommitter.multiCommit(new ModifiableRootModel[]{rootModelB}, moduleModel)); + IndexingTestUtil.waitUntilIndexesAreReady(getProject()); } final ModuleRootManager rootManagerB = ModuleRootManager.getInstance(moduleB); @@ -158,6 +163,7 @@ public class MultiModuleEditingTest extends JavaModuleTestCase { assertEquals("c", moduleModel.getActualName(moduleA)); assertSame(moduleA, moduleModel.getModuleToBeRenamed("c")); ApplicationManager.getApplication().runWriteAction(() -> moduleModel.commit()); + IndexingTestUtil.waitUntilIndexesAreReady(getProject()); } assertEquals(1, rootManagerB.getDependencies().length); diff --git a/java/java-tests/testSrc/com/intellij/roots/libraries/LibraryTest.java b/java/java-tests/testSrc/com/intellij/roots/libraries/LibraryTest.java index 5d049749e8b5..36544ac3a0fa 100644 --- a/java/java-tests/testSrc/com/intellij/roots/libraries/LibraryTest.java +++ b/java/java-tests/testSrc/com/intellij/roots/libraries/LibraryTest.java @@ -20,6 +20,7 @@ import com.intellij.psi.JavaPsiFacade; import com.intellij.psi.PsiClass; import com.intellij.psi.search.GlobalSearchScope; import com.intellij.roots.ModuleRootManagerTestCase; +import com.intellij.testFramework.IndexingTestUtil; import com.intellij.testFramework.PsiTestUtil; import com.intellij.util.ui.UIUtil; import org.jdom.Element; @@ -140,6 +141,7 @@ public class LibraryTest extends ModuleRootManagerTestCase { commit(model); ModuleRootModificationUtil.updateModel(getModule(), m -> m.addLibraryEntry(library)); + IndexingTestUtil.waitUntilIndexesAreReady(getProject()); assertSize(1, library.getUrls(OrderRootType.CLASSES)); assertSameElements(library.getUrls(OrderRootType.CLASSES), libDir.getUrl()); @@ -156,6 +158,7 @@ public class LibraryTest extends ModuleRootManagerTestCase { UIUtil.dispatchAllInvocationEvents(); libDir.refresh(false, false); UIUtil.dispatchAllInvocationEvents(); + IndexingTestUtil.waitUntilIndexesAreReady(getProject()); assertNull(libDir.findChild("lib.jar")); aClass = JavaPsiFacade.getInstance(getProject()).findClass("l.InLib", GlobalSearchScope.allScope(getProject())); @@ -163,10 +166,12 @@ public class LibraryTest extends ModuleRootManagerTestCase { copy(libJar, libDir, libJar.getName()); UIUtil.dispatchAllInvocationEvents(); + IndexingTestUtil.waitUntilIndexesAreReady(getProject()); aClass = JavaPsiFacade.getInstance(getProject()).findClass("l.InLib", GlobalSearchScope.allScope(getProject())); assertNotNull(aClass); ModuleRootModificationUtil.updateModel(getModule(), m -> m.removeOrderEntry(m.findLibraryOrderEntry(library))); + IndexingTestUtil.waitUntilIndexesAreReady(getProject()); aClass = JavaPsiFacade.getInstance(getProject()).findClass("l.InLib", GlobalSearchScope.allScope(getProject())); assertNull(aClass); } @@ -185,6 +190,7 @@ public class LibraryTest extends ModuleRootManagerTestCase { commit(model); ModuleRootModificationUtil.updateModel(getModule(), m -> m.addLibraryEntry(library)); + IndexingTestUtil.waitUntilIndexesAreReady(getProject()); assertSize(1, library.getUrls(OrderRootType.CLASSES)); assertSameElements(library.getUrls(OrderRootType.CLASSES), libUrl); @@ -221,6 +227,7 @@ public class LibraryTest extends ModuleRootManagerTestCase { assertNotNull(libJar); UIUtil.dispatchAllInvocationEvents(); + IndexingTestUtil.waitUntilIndexesAreReady(getProject()); aClass = JavaPsiFacade.getInstance(getProject()).findClass("l.InLib", GlobalSearchScope.allScope(getProject())); assertNotNull(aClass); } diff --git a/java/java-tests/testSrc/com/intellij/testIntergration/TestFinderHelperTest.java b/java/java-tests/testSrc/com/intellij/testIntergration/TestFinderHelperTest.java index 8874ecc0eb60..56782880a0df 100644 --- a/java/java-tests/testSrc/com/intellij/testIntergration/TestFinderHelperTest.java +++ b/java/java-tests/testSrc/com/intellij/testIntergration/TestFinderHelperTest.java @@ -7,6 +7,7 @@ import com.intellij.openapi.roots.ModuleRootModificationUtil; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.project.IntelliJProjectConfiguration; import com.intellij.psi.*; +import com.intellij.testFramework.IndexingTestUtil; import com.intellij.testFramework.JavaPsiTestCase; import com.intellij.testFramework.PsiTestUtil; import com.intellij.testIntegration.TestFinderHelper; @@ -23,6 +24,7 @@ public class TestFinderHelperTest extends JavaPsiTestCase { PsiTestUtil.addSourceRoot(myModule, myContentRootDir); IntelliJProjectConfiguration.LibraryRoots junit4Library = IntelliJProjectConfiguration.getProjectLibrary("JUnit4"); ModuleRootModificationUtil.addModuleLibrary(myModule, "JUnit4", junit4Library.getClassesUrls(), junit4Library.getSourcesUrls()); + IndexingTestUtil.waitUntilIndexesAreReady(getProject()); } public void testNoTestsForClass() { diff --git a/java/java-tests/testSrc/com/intellij/util/indexing/IndexTest.java b/java/java-tests/testSrc/com/intellij/util/indexing/IndexTest.java index acd19a2e3b4f..45748934f9ea 100644 --- a/java/java-tests/testSrc/com/intellij/util/indexing/IndexTest.java +++ b/java/java-tests/testSrc/com/intellij/util/indexing/IndexTest.java @@ -1290,6 +1290,7 @@ public class IndexTest extends JavaCodeInsightFixtureTestCase { final ExactFileNameMatcher matcher = new ExactFileNameMatcher("Foo.groovy"); try { WriteCommandAction.runWriteCommandAction(getProject(), () -> FileTypeManager.getInstance().associate(JavaFileType.INSTANCE, matcher)); + IndexingTestUtil.waitUntilIndexesAreReady(getProject()); assertEquals(JavaFileType.INSTANCE, FileTypeIndex.getIndexedFileType(virtualFile, getProject())); stub = StubTreeLoader.getInstance().readFromVFile(getProject(), virtualFile); diff --git a/java/java-tests/testSrc/com/intellij/util/indexing/RequestedToRebuildIndexTest.kt b/java/java-tests/testSrc/com/intellij/util/indexing/RequestedToRebuildIndexTest.kt index cf4683d5df51..0b838487ea1e 100644 --- a/java/java-tests/testSrc/com/intellij/util/indexing/RequestedToRebuildIndexTest.kt +++ b/java/java-tests/testSrc/com/intellij/util/indexing/RequestedToRebuildIndexTest.kt @@ -12,6 +12,7 @@ import com.intellij.psi.JavaPsiFacade import com.intellij.psi.PsiJavaFile import com.intellij.psi.PsiManager import com.intellij.psi.search.GlobalSearchScope +import com.intellij.testFramework.IndexingTestUtil import com.intellij.testFramework.PlatformTestUtil import com.intellij.testFramework.fixtures.JavaCodeInsightFixtureTestCase import com.intellij.util.ThrowableRunnable @@ -87,15 +88,18 @@ class RequestedToRebuildIndexTest : JavaCodeInsightFixtureTestCase() { assertEquals("File was not reindexed after indexing on creation", 0, countingIndex.counter.get()) UnindexedFilesScanner(myFixture.project).queue() + IndexingTestUtil.waitUntilIndexesAreReady(myFixture.project) assertEquals("File was not reindexed after full project reindex request", 0, countingIndex.counter.get()) fileBasedIndex.requestRebuild(countingIndex.name) + IndexingTestUtil.waitUntilIndexesAreReady(myFixture.project) assertCountingIndexBehavesCorrectlyAfterRebuildRequest(countingIndex, fileA, fileB) partialReindex.accept(fileA) assertCountingIndexBehavesCorrectlyAfterRebuildRequest(countingIndex, fileA, fileB) PlatformTestUtil.dispatchAllEventsInIdeEventQueue() + IndexingTestUtil.waitUntilIndexesAreReady(myFixture.project) assertTrue("File was reindexed on requesting index rebuild", countingIndex.counter.get() > 1) assertEquals("File data is available after full reindex", countingIndex.getDefaultValue(), fileBasedIndex.getFileData(countingIndex.name, fileA, myFixture.project))