[JS] Don't turn on PL in tests with IGNORE_ERRORS directive

^KT-64817
This commit is contained in:
Dmitriy Dolovov
2024-03-13 16:46:50 +01:00
committed by Space Team
parent b0bc017a16
commit cec36355b2
@@ -35,6 +35,7 @@ import org.jetbrains.kotlin.library.uniqueName
import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.name.FqName
import org.jetbrains.kotlin.serialization.js.ModuleKind import org.jetbrains.kotlin.serialization.js.ModuleKind
import org.jetbrains.kotlin.test.DebugMode import org.jetbrains.kotlin.test.DebugMode
import org.jetbrains.kotlin.test.directives.CodegenTestDirectives.IGNORE_ERRORS
import org.jetbrains.kotlin.test.directives.JsEnvironmentConfigurationDirectives import org.jetbrains.kotlin.test.directives.JsEnvironmentConfigurationDirectives
import org.jetbrains.kotlin.test.directives.model.RegisteredDirectives import org.jetbrains.kotlin.test.directives.model.RegisteredDirectives
import org.jetbrains.kotlin.test.frontend.classic.moduleDescriptorProvider import org.jetbrains.kotlin.test.frontend.classic.moduleDescriptorProvider
@@ -65,7 +66,13 @@ class JsIrBackendFacade(
val configuration = testServices.compilerConfigurationProvider.getCompilerConfiguration(module) val configuration = testServices.compilerConfigurationProvider.getCompilerConfiguration(module)
// Enforce PL with the ERROR log level to fail any tests where PL detected any incompatibilities. // Enforce PL with the ERROR log level to fail any tests where PL detected any incompatibilities.
configuration.setupPartialLinkageConfig(PartialLinkageConfig(PartialLinkageMode.ENABLE, PartialLinkageLogLevel.ERROR)) // Unless this is a test with the IGNORE_ERRORS directive.
configuration.setupPartialLinkageConfig(
PartialLinkageConfig(
if (IGNORE_ERRORS in module.directives) PartialLinkageMode.DISABLE else PartialLinkageMode.ENABLE,
PartialLinkageLogLevel.ERROR
)
)
val isMainModule = JsEnvironmentConfigurator.isMainModule(module, testServices) val isMainModule = JsEnvironmentConfigurator.isMainModule(module, testServices)
if (!isMainModule) return null if (!isMainModule) return null