From 24d7d8088c0d96826fcaa0b2bd881d6cf10964a2 Mon Sep 17 00:00:00 2001 From: Stanislav Ruban Date: Mon, 11 Mar 2024 03:34:29 +0200 Subject: [PATCH] [tests][FIR][checkers][Wasm] Prepare for addition of KMP Wasm test data --- .../kotlin/test/directives/TargetPlatformEnum.kt | 2 ++ .../test/services/impl/ModuleStructureExtractorImpl.kt | 2 ++ .../test/diagnostics/AbstractDiagnosticsFirWasmTest.kt | 10 ++++++++-- .../test/diagnostics/AbstractDiagnosticsWasmTest.kt | 9 +++++++-- 4 files changed, 19 insertions(+), 4 deletions(-) diff --git a/compiler/test-infrastructure/tests/org/jetbrains/kotlin/test/directives/TargetPlatformEnum.kt b/compiler/test-infrastructure/tests/org/jetbrains/kotlin/test/directives/TargetPlatformEnum.kt index daf2b481772..17cdff2f516 100644 --- a/compiler/test-infrastructure/tests/org/jetbrains/kotlin/test/directives/TargetPlatformEnum.kt +++ b/compiler/test-infrastructure/tests/org/jetbrains/kotlin/test/directives/TargetPlatformEnum.kt @@ -13,6 +13,7 @@ import org.jetbrains.kotlin.platform.jvm.JdkPlatform import org.jetbrains.kotlin.platform.jvm.JvmPlatforms import org.jetbrains.kotlin.platform.konan.NativePlatformUnspecifiedTarget import org.jetbrains.kotlin.platform.konan.NativePlatforms +import org.jetbrains.kotlin.platform.wasm.WasmPlatforms enum class TargetPlatformEnum(val targetPlatform: TargetPlatform) { Common( @@ -31,5 +32,6 @@ enum class TargetPlatformEnum(val targetPlatform: TargetPlatform) { JVM_1_8(JvmPlatforms.jvm8), JS(JsPlatforms.defaultJsPlatform), + Wasm(WasmPlatforms.Default), Native(NativePlatforms.unspecifiedNativePlatform) } diff --git a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/services/impl/ModuleStructureExtractorImpl.kt b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/services/impl/ModuleStructureExtractorImpl.kt index 1cf8f8b4f2d..8bb7534c62b 100644 --- a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/services/impl/ModuleStructureExtractorImpl.kt +++ b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/services/impl/ModuleStructureExtractorImpl.kt @@ -12,6 +12,7 @@ import org.jetbrains.kotlin.platform.js.JsPlatforms import org.jetbrains.kotlin.platform.jvm.JvmPlatforms import org.jetbrains.kotlin.platform.jvm.isJvm import org.jetbrains.kotlin.platform.konan.NativePlatforms +import org.jetbrains.kotlin.platform.wasm.WasmPlatforms import org.jetbrains.kotlin.test.Assertions import org.jetbrains.kotlin.test.TargetBackend import org.jetbrains.kotlin.test.TestInfrastructureInternals @@ -376,6 +377,7 @@ class ModuleStructureExtractorImpl( nameSuffix == "COMMON" -> CommonPlatforms.defaultCommonPlatform nameSuffix == "JVM" -> JvmPlatforms.unspecifiedJvmPlatform // TODO(dsavvinov): determine JvmTarget precisely nameSuffix == "JS" -> JsPlatforms.defaultJsPlatform + nameSuffix == "WASM" -> WasmPlatforms.Default nameSuffix == "NATIVE" -> NativePlatforms.unspecifiedNativePlatform nameSuffix.isEmpty() -> null // TODO(dsavvinov): this leads to 'null'-platform in ModuleDescriptor else -> throw IllegalStateException("Can't determine platform by name $nameSuffix") diff --git a/wasm/wasm.tests/test/org/jetbrains/kotlin/wasm/test/diagnostics/AbstractDiagnosticsFirWasmTest.kt b/wasm/wasm.tests/test/org/jetbrains/kotlin/wasm/test/diagnostics/AbstractDiagnosticsFirWasmTest.kt index 9043be4192f..9da646c60f5 100644 --- a/wasm/wasm.tests/test/org/jetbrains/kotlin/wasm/test/diagnostics/AbstractDiagnosticsFirWasmTest.kt +++ b/wasm/wasm.tests/test/org/jetbrains/kotlin/wasm/test/diagnostics/AbstractDiagnosticsFirWasmTest.kt @@ -10,6 +10,7 @@ import org.jetbrains.kotlin.test.Constructor import org.jetbrains.kotlin.test.FirParser import org.jetbrains.kotlin.test.builders.TestConfigurationBuilder import org.jetbrains.kotlin.test.builders.firHandlersStep +import org.jetbrains.kotlin.test.directives.LanguageSettingsDirectives import org.jetbrains.kotlin.test.directives.configureFirParser import org.jetbrains.kotlin.test.frontend.fir.FirFrontendFacade import org.jetbrains.kotlin.test.frontend.fir.handlers.* @@ -20,7 +21,6 @@ import org.jetbrains.kotlin.test.runners.configurationForClassicAndFirTestsAlong import org.jetbrains.kotlin.test.services.AbstractEnvironmentConfigurator import org.jetbrains.kotlin.test.services.LibraryProvider import org.jetbrains.kotlin.test.services.configuration.CommonEnvironmentConfigurator -import org.jetbrains.kotlin.test.services.configuration.WasmEnvironmentConfigurator import org.jetbrains.kotlin.test.services.configuration.WasmEnvironmentConfiguratorJs import org.jetbrains.kotlin.test.services.configuration.WasmEnvironmentConfiguratorWasi import org.jetbrains.kotlin.test.services.sourceProviders.AdditionalDiagnosticsSourceFilesProvider @@ -65,8 +65,14 @@ abstract class AbstractFirWasmDiagnosticTestBase( ::FirScopeDumpHandler, ) } + + forTestsMatching("compiler/testData/diagnostics/wasmTests/multiplatform/*") { + defaultDirectives { + LanguageSettingsDirectives.LANGUAGE + "+MultiPlatformProjects" + } + } } } abstract class AbstractDiagnosticsFirWasmTest : AbstractFirWasmDiagnosticTestBase(FirParser.Psi, ::WasmEnvironmentConfiguratorJs) -abstract class AbstractDiagnosticsFirWasmWasiTest : AbstractFirWasmDiagnosticTestBase(FirParser.Psi, ::WasmEnvironmentConfiguratorWasi) \ No newline at end of file +abstract class AbstractDiagnosticsFirWasmWasiTest : AbstractFirWasmDiagnosticTestBase(FirParser.Psi, ::WasmEnvironmentConfiguratorWasi) diff --git a/wasm/wasm.tests/test/org/jetbrains/kotlin/wasm/test/diagnostics/AbstractDiagnosticsWasmTest.kt b/wasm/wasm.tests/test/org/jetbrains/kotlin/wasm/test/diagnostics/AbstractDiagnosticsWasmTest.kt index cc1e3becfbe..5a665c2612b 100644 --- a/wasm/wasm.tests/test/org/jetbrains/kotlin/wasm/test/diagnostics/AbstractDiagnosticsWasmTest.kt +++ b/wasm/wasm.tests/test/org/jetbrains/kotlin/wasm/test/diagnostics/AbstractDiagnosticsWasmTest.kt @@ -11,6 +11,7 @@ import org.jetbrains.kotlin.test.builders.TestConfigurationBuilder import org.jetbrains.kotlin.test.builders.classicFrontendHandlersStep import org.jetbrains.kotlin.test.builders.classicFrontendStep import org.jetbrains.kotlin.test.directives.JvmEnvironmentConfigurationDirectives +import org.jetbrains.kotlin.test.directives.LanguageSettingsDirectives import org.jetbrains.kotlin.test.frontend.classic.handlers.ClassicDiagnosticsHandler import org.jetbrains.kotlin.test.frontend.classic.handlers.OldNewInferenceMetaInfoProcessor import org.jetbrains.kotlin.test.model.DependencyKind @@ -19,7 +20,6 @@ import org.jetbrains.kotlin.test.runners.AbstractKotlinCompilerTest import org.jetbrains.kotlin.test.services.AbstractEnvironmentConfigurator import org.jetbrains.kotlin.test.services.LibraryProvider import org.jetbrains.kotlin.test.services.configuration.CommonEnvironmentConfigurator -import org.jetbrains.kotlin.test.services.configuration.WasmEnvironmentConfigurator import org.jetbrains.kotlin.test.services.configuration.WasmEnvironmentConfiguratorJs import org.jetbrains.kotlin.test.services.configuration.WasmEnvironmentConfiguratorWasi import org.jetbrains.kotlin.test.services.sourceProviders.AdditionalDiagnosticsSourceFilesProvider @@ -59,9 +59,14 @@ abstract class AbstractDiagnosticsWasmTestBase( ::ClassicDiagnosticsHandler, ) } + + forTestsMatching("compiler/testData/diagnostics/wasmTests/multiplatform/*") { + defaultDirectives { + LanguageSettingsDirectives.LANGUAGE + "+MultiPlatformProjects" + } + } } } abstract class AbstractDiagnosticsWasmTest : AbstractDiagnosticsWasmTestBase(::WasmEnvironmentConfiguratorJs) abstract class AbstractDiagnosticsWasmWasiTest : AbstractDiagnosticsWasmTestBase(::WasmEnvironmentConfiguratorWasi) -