From 0f5ea36f4e471fcf6f4802db1f2f2e33fcf7aa02 Mon Sep 17 00:00:00 2001 From: Nikolay Chashnikov Date: Thu, 19 Jun 2025 09:21:58 +0200 Subject: [PATCH] [plugin tests] simplification: clear errors in PluginSetTestBuilder instead of doing it in individual tests (cherry picked from commit b2c50cb2a03136e960b1184c1ed26657f207c162) IJ-CR-166252 GitOrigin-RevId: c027ac65c5d079f6bdde0a9dc1d785e3bce36899 --- .../testSrc/com/intellij/ide/plugins/DynamicPluginsTest.kt | 2 -- .../testSrc/com/intellij/ide/plugins/PluginDependenciesTest.kt | 2 -- .../testSrc/com/intellij/ide/plugins/PluginSetLoadingTest.kt | 3 --- platform/plugins/testFramework/BUILD.bazel | 1 + .../testFramework/intellij.platform.plugins.testFramework.iml | 1 + platform/plugins/testFramework/src/PluginSetTestBuilder.kt | 3 +++ 6 files changed, 5 insertions(+), 7 deletions(-) diff --git a/platform/platform-tests/testSrc/com/intellij/ide/plugins/DynamicPluginsTest.kt b/platform/platform-tests/testSrc/com/intellij/ide/plugins/DynamicPluginsTest.kt index ad1a122f6b41..df9590b40e1d 100644 --- a/platform/platform-tests/testSrc/com/intellij/ide/plugins/DynamicPluginsTest.kt +++ b/platform/platform-tests/testSrc/com/intellij/ide/plugins/DynamicPluginsTest.kt @@ -1050,8 +1050,6 @@ class DynamicPluginsTest { @Test @TestFor(issues = ["IJPL-183884"]) fun `initial loading errors are cleared after successful dynamic plugin loading`() { - PluginManagerCore.getAndClearPluginLoadingErrors() // clear errors which may be registered by other tests - val barPluginPath = pluginsDir.resolve("bar") val fooPluginPath = pluginsDir.resolve("foo") diff --git a/platform/platform-tests/testSrc/com/intellij/ide/plugins/PluginDependenciesTest.kt b/platform/platform-tests/testSrc/com/intellij/ide/plugins/PluginDependenciesTest.kt index c02396bed4d8..172fa82fb257 100644 --- a/platform/platform-tests/testSrc/com/intellij/ide/plugins/PluginDependenciesTest.kt +++ b/platform/platform-tests/testSrc/com/intellij/ide/plugins/PluginDependenciesTest.kt @@ -136,7 +136,6 @@ internal class PluginDependenciesTest { @Test fun `plugin is not loaded if required module is not available`() { - PluginManagerCore.getAndClearPluginLoadingErrors() //clear errors which may be registered by other tests plugin("sample.plugin") { content { module("required.module", ModuleLoadingRule.REQUIRED) { @@ -207,7 +206,6 @@ internal class PluginDependenciesTest { @Test fun `required content module with unresolved dependency in the core plugin`() { - PluginManagerCore.getAndClearPluginLoadingErrors() //clear errors which may be registered by other tests val corePluginDir = pluginDirPath.resolve("core") plugin(PluginManagerCore.CORE_PLUGIN_ID) { content { diff --git a/platform/platform-tests/testSrc/com/intellij/ide/plugins/PluginSetLoadingTest.kt b/platform/platform-tests/testSrc/com/intellij/ide/plugins/PluginSetLoadingTest.kt index ca72e2d893e2..aad826f95ab6 100644 --- a/platform/platform-tests/testSrc/com/intellij/ide/plugins/PluginSetLoadingTest.kt +++ b/platform/platform-tests/testSrc/com/intellij/ide/plugins/PluginSetLoadingTest.kt @@ -217,7 +217,6 @@ class PluginSetLoadingTest { @Test fun `package prefix collision prevents plugin from loading`() { - PluginManagerCore.getAndClearPluginLoadingErrors() // FIXME these plugins are not related, but one of them loads => depends on implicit order plugin("foo") { content { @@ -255,7 +254,6 @@ class PluginSetLoadingTest { @Test fun `package prefix collision prevents plugin from loading - same plugin`() { - PluginManagerCore.getAndClearPluginLoadingErrors() plugin("foo") { packagePrefix = "common.module" content { @@ -271,7 +269,6 @@ class PluginSetLoadingTest { @Test fun `package prefix collision does not prevent plugin from loading if module is optional`() { - PluginManagerCore.getAndClearPluginLoadingErrors() plugin("foo") { content { module("foo.module", loadingRule = ModuleLoadingRule.OPTIONAL) { packagePrefix = "common.module" } diff --git a/platform/plugins/testFramework/BUILD.bazel b/platform/plugins/testFramework/BUILD.bazel index 6527cbc2988c..713239a5946e 100644 --- a/platform/plugins/testFramework/BUILD.bazel +++ b/platform/plugins/testFramework/BUILD.bazel @@ -9,6 +9,7 @@ jvm_library( deps = [ "@lib//:kotlin-stdlib", "@lib//:jetbrains-annotations", + "//platform/util", "//platform/core-api:core", "//platform/core-impl", "//platform/util-class-loader:util-classLoader", diff --git a/platform/plugins/testFramework/intellij.platform.plugins.testFramework.iml b/platform/plugins/testFramework/intellij.platform.plugins.testFramework.iml index 3fd6a0c75e71..279378a00841 100644 --- a/platform/plugins/testFramework/intellij.platform.plugins.testFramework.iml +++ b/platform/plugins/testFramework/intellij.platform.plugins.testFramework.iml @@ -9,6 +9,7 @@ + diff --git a/platform/plugins/testFramework/src/PluginSetTestBuilder.kt b/platform/plugins/testFramework/src/PluginSetTestBuilder.kt index 4e1d68b052e5..d49d982cc528 100644 --- a/platform/plugins/testFramework/src/PluginSetTestBuilder.kt +++ b/platform/plugins/testFramework/src/PluginSetTestBuilder.kt @@ -101,6 +101,9 @@ class PluginSetTestBuilder private constructor( } fun build(): PluginSet { + //clear errors, which may be registered by other tests + PluginManagerCore.getAndClearPluginLoadingErrors() + val initContext = buildInitContext() val (loadingContext, loadingResult) = buildLoadingResult(initContext) return PluginManagerCore.initializePlugins(