diff --git a/java/java-tests/testSrc/com/intellij/java/openapi/roots/impl/DirectoryIndexTest.java b/java/java-tests/testSrc/com/intellij/java/openapi/roots/impl/DirectoryIndexTest.java index 60a4ac26fbe2..adcf4b8567ab 100644 --- a/java/java-tests/testSrc/com/intellij/java/openapi/roots/impl/DirectoryIndexTest.java +++ b/java/java-tests/testSrc/com/intellij/java/openapi/roots/impl/DirectoryIndexTest.java @@ -167,12 +167,7 @@ public class DirectoryIndexTest extends DirectoryIndexTestCase { Arrays.asList(myExcludedLibClsDir.getUrl(), myExcludedLibSrcDir.getUrl()), DependencyScope.COMPILE, true); } - for (AdditionalLibraryRootsProvider provider : AdditionalLibraryRootsProvider.EP_NAME.getExtensions()) { - for (SyntheticLibrary library : provider.getAdditionalProjectLibraries(getProject())) { - myLibAdditionalSrcDirs.addAll(library.getSourceRoots()); - myLibAdditionalClsDirs.addAll(library.getBinaryRoots()); - } - } + PlatformTestUtil.unregisterAllExtensions(AdditionalLibraryRootsProvider.EP_NAME, getTestRootDisposable()); PlatformTestUtil.registerExtension(AdditionalLibraryRootsProvider.EP_NAME, new AdditionalLibraryRootsProvider() { @NotNull @Override diff --git a/platform/testFramework/src/com/intellij/testFramework/PlatformTestUtil.java b/platform/testFramework/src/com/intellij/testFramework/PlatformTestUtil.java index ac9d935fc6da..9401af23b1cb 100644 --- a/platform/testFramework/src/com/intellij/testFramework/PlatformTestUtil.java +++ b/platform/testFramework/src/com/intellij/testFramework/PlatformTestUtil.java @@ -135,6 +135,13 @@ public class PlatformTestUtil { Disposer.register(parentDisposable, () -> extensionPoint.unregisterExtension(t)); } + public static void unregisterAllExtensions(@NotNull ExtensionPointName name, @NotNull Disposable parentDisposable) { + ExtensionPoint extensionPoint = Extensions.getRootArea().getExtensionPoint(name.getName()); + T[] extensions = name.getExtensions(); + Arrays.stream(extensions).forEach(extensionPoint::unregisterExtension); + Disposer.register(parentDisposable, () -> Arrays.stream(extensions).forEach(extensionPoint::registerExtension)); + } + @Nullable public static String toString(@Nullable Object node, @Nullable Queryable.PrintInfo printInfo) { if (node instanceof AbstractTreeNode) {