[FIR JS] Add a Fir2IrJsText runner

This commit is contained in:
Nikolay Lunyak
2022-02-24 17:34:44 +03:00
committed by teamcity
parent 4038c06b1e
commit da8a8a8988
2 changed files with 42 additions and 5 deletions
@@ -5,6 +5,7 @@
package org.jetbrains.kotlin.test.runners.ir
import org.jetbrains.kotlin.platform.js.JsPlatforms
import org.jetbrains.kotlin.platform.jvm.JvmPlatforms
import org.jetbrains.kotlin.test.Constructor
import org.jetbrains.kotlin.test.TargetBackend
@@ -27,7 +28,9 @@ import org.jetbrains.kotlin.test.frontend.fir.FirFrontendFacade
import org.jetbrains.kotlin.test.frontend.fir.FirOutputArtifact
import org.jetbrains.kotlin.test.model.*
import org.jetbrains.kotlin.test.runners.AbstractKotlinCompilerWithTargetBackendTest
import org.jetbrains.kotlin.test.services.JsLibraryProvider
import org.jetbrains.kotlin.test.services.configuration.CommonEnvironmentConfigurator
import org.jetbrains.kotlin.test.services.configuration.JsEnvironmentConfigurator
import org.jetbrains.kotlin.test.services.configuration.JvmEnvironmentConfigurator
import org.jetbrains.kotlin.test.services.sourceProviders.AdditionalDiagnosticsSourceFilesProvider
import org.jetbrains.kotlin.test.services.sourceProviders.CodegenHelpersSourceFilesProvider
@@ -40,6 +43,13 @@ abstract class AbstractIrTextTestBase<R : ResultingArtifact.FrontendOutput<R>> :
abstract val frontendFacade: Constructor<FrontendFacade<R>>
abstract val converter: Constructor<Frontend2BackendConverter<R, IrBackendInput>>
open fun TestConfigurationBuilder.applyConfigurators() {
useConfigurators(
::CommonEnvironmentConfigurator,
::JvmEnvironmentConfigurator
)
}
override fun TestConfigurationBuilder.configuration() {
globalDefaults {
frontend = this@AbstractIrTextTestBase.frontend
@@ -54,10 +64,7 @@ abstract class AbstractIrTextTestBase<R : ResultingArtifact.FrontendOutput<R>> :
+DUMP_KT_IR
}
useConfigurators(
::CommonEnvironmentConfigurator,
::JvmEnvironmentConfigurator
)
applyConfigurators()
useAdditionalSourceProviders(
::AdditionalDiagnosticsSourceFilesProvider,
@@ -133,4 +140,27 @@ open class AbstractLightTreeFir2IrTextTest : AbstractFir2IrTextTest() {
}
}
}
}
}
open class AbstractFir2IrJsTextTest : AbstractFir2IrTextTest() {
override fun TestConfigurationBuilder.applyConfigurators() {
useConfigurators(
::CommonEnvironmentConfigurator,
::JsEnvironmentConfigurator,
)
useAdditionalService(::JsLibraryProvider)
}
override fun configure(builder: TestConfigurationBuilder) {
super.configure(builder)
with(builder) {
globalDefaults {
targetPlatform = JsPlatforms.defaultJsPlatform
artifactKind = BinaryKind.NoArtifact
targetBackend = TargetBackend.JS_IR
dependencyKind = DependencyKind.Source
}
}
}
}
@@ -17,6 +17,7 @@ import org.jetbrains.kotlin.js.testOld.wasm.semantics.AbstractIrCodegenBoxWasmTe
import org.jetbrains.kotlin.js.testOld.wasm.semantics.AbstractIrCodegenWasmJsInteropWasmTest
import org.jetbrains.kotlin.js.testOld.wasm.semantics.AbstractJsTranslatorWasmTest
import org.jetbrains.kotlin.test.TargetBackend
import org.jetbrains.kotlin.test.runners.ir.AbstractFir2IrJsTextTest
fun main(args: Array<String>) {
System.setProperty("java.awt.headless", "true")
@@ -147,6 +148,12 @@ fun main(args: Array<String>) {
testClass<AbstractIrCodegenWasmJsInteropJsTest> {
model("codegen/boxWasmJsInterop")
}
testClass<AbstractFir2IrJsTextTest>(
suiteTestClassName = "Fir2IrJsTextTestGenerated"
) {
model("ir/irJsText")
}
}
}
}