From cec36355b226a68c4018485bbabc5e8c089723d7 Mon Sep 17 00:00:00 2001 From: Dmitriy Dolovov Date: Wed, 13 Mar 2024 16:46:50 +0100 Subject: [PATCH] [JS] Don't turn on PL in tests with IGNORE_ERRORS directive ^KT-64817 --- .../kotlin/js/test/converters/JsIrBackendFacade.kt | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/js/js.tests/test/org/jetbrains/kotlin/js/test/converters/JsIrBackendFacade.kt b/js/js.tests/test/org/jetbrains/kotlin/js/test/converters/JsIrBackendFacade.kt index a6079f19fc4..324150b7c6f 100644 --- a/js/js.tests/test/org/jetbrains/kotlin/js/test/converters/JsIrBackendFacade.kt +++ b/js/js.tests/test/org/jetbrains/kotlin/js/test/converters/JsIrBackendFacade.kt @@ -35,6 +35,7 @@ import org.jetbrains.kotlin.library.uniqueName import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.serialization.js.ModuleKind 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.model.RegisteredDirectives import org.jetbrains.kotlin.test.frontend.classic.moduleDescriptorProvider @@ -65,7 +66,13 @@ class JsIrBackendFacade( val configuration = testServices.compilerConfigurationProvider.getCompilerConfiguration(module) // 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) if (!isMainModule) return null