[FIR JS] Add a test runner for FIR JS with old diagnostic tests
This commit is contained in:
committed by
Space Team
parent
4466b2c980
commit
5ae9444745
@@ -24,6 +24,8 @@ fun main(args: Array<String>) {
|
||||
"compileKotlinAgainstKotlin",
|
||||
)
|
||||
|
||||
val excludedFirTestdataPattern = "^(.+)\\.fir\\.kts?\$"
|
||||
|
||||
// TODO: repair these tests
|
||||
//generateTestDataForReservedWords()
|
||||
|
||||
@@ -173,6 +175,10 @@ fun main(args: Array<String>) {
|
||||
model("debug/localVariables")
|
||||
}
|
||||
|
||||
testClass<AbstractFirJsDiagnosticTest>(suiteTestClassName = "FirJsOldFrontendDiagnosticsTestGenerated") {
|
||||
model("diagnostics/testsWithJsStdLib", pattern = "^([^_](.+))\\.kt$", excludedPattern = excludedFirTestdataPattern)
|
||||
}
|
||||
|
||||
testClass<AbstractFir2IrJsTextTest>(
|
||||
suiteTestClassName = "Fir2IrJsTextTestGenerated"
|
||||
) {
|
||||
|
||||
@@ -0,0 +1,66 @@
|
||||
/*
|
||||
* Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||
*/
|
||||
|
||||
package org.jetbrains.kotlin.js.test.fir
|
||||
|
||||
import org.jetbrains.kotlin.js.test.JsAdditionalSourceProvider
|
||||
import org.jetbrains.kotlin.platform.js.JsPlatforms
|
||||
import org.jetbrains.kotlin.test.builders.TestConfigurationBuilder
|
||||
import org.jetbrains.kotlin.test.builders.firHandlersStep
|
||||
import org.jetbrains.kotlin.test.directives.ConfigurationDirectives
|
||||
import org.jetbrains.kotlin.test.directives.DiagnosticsDirectives
|
||||
import org.jetbrains.kotlin.test.frontend.fir.FirFrontendFacade
|
||||
import org.jetbrains.kotlin.test.frontend.fir.handlers.*
|
||||
import org.jetbrains.kotlin.test.model.DependencyKind
|
||||
import org.jetbrains.kotlin.test.model.FrontendKinds
|
||||
import org.jetbrains.kotlin.test.runners.AbstractKotlinCompilerTest
|
||||
import org.jetbrains.kotlin.test.runners.configurationForClassicAndFirTestsAlongside
|
||||
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.sourceProviders.CoroutineHelpersSourceFilesProvider
|
||||
|
||||
abstract class AbstractFirJsDiagnosticTest : AbstractKotlinCompilerTest() {
|
||||
override fun TestConfigurationBuilder.configuration() {
|
||||
globalDefaults {
|
||||
frontend = FrontendKinds.FIR
|
||||
targetPlatform = JsPlatforms.defaultJsPlatform
|
||||
dependencyKind = DependencyKind.Source
|
||||
}
|
||||
|
||||
defaultDirectives {
|
||||
+ConfigurationDirectives.WITH_STDLIB
|
||||
DiagnosticsDirectives.DIAGNOSTICS with listOf("-warnings", "-infos")
|
||||
}
|
||||
|
||||
enableMetaInfoHandler()
|
||||
configurationForClassicAndFirTestsAlongside()
|
||||
|
||||
useConfigurators(
|
||||
::CommonEnvironmentConfigurator,
|
||||
::JsEnvironmentConfigurator,
|
||||
)
|
||||
|
||||
useAdditionalSourceProviders(
|
||||
::JsAdditionalSourceProvider,
|
||||
::CoroutineHelpersSourceFilesProvider,
|
||||
)
|
||||
|
||||
useAdditionalService(::JsLibraryProvider)
|
||||
|
||||
facadeStep(::FirFrontendFacade)
|
||||
|
||||
firHandlersStep {
|
||||
useHandlers(
|
||||
::FirDiagnosticsHandler,
|
||||
::FirDumpHandler,
|
||||
::FirCfgDumpHandler,
|
||||
::FirCfgConsistencyHandler,
|
||||
::FirResolvedTypesVerifier,
|
||||
::FirScopeDumpHandler,
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -10,6 +10,7 @@ import org.jetbrains.kotlin.test.Constructor
|
||||
import org.jetbrains.kotlin.test.TargetBackend
|
||||
import org.jetbrains.kotlin.test.backend.ir.IrBackendInput
|
||||
import org.jetbrains.kotlin.test.builders.*
|
||||
import org.jetbrains.kotlin.test.directives.DiagnosticsDirectives
|
||||
import org.jetbrains.kotlin.test.directives.JsEnvironmentConfigurationDirectives
|
||||
import org.jetbrains.kotlin.test.directives.LanguageSettingsDirectives
|
||||
import org.jetbrains.kotlin.test.frontend.fir.Fir2IrJsResultsConverter
|
||||
@@ -48,7 +49,7 @@ open class AbstractFirJsTest(
|
||||
|
||||
override fun configure(builder: TestConfigurationBuilder) {
|
||||
super.configure(builder)
|
||||
with (builder) {
|
||||
with(builder) {
|
||||
defaultDirectives {
|
||||
val runIc = getBoolean("kotlin.js.ir.icMode")
|
||||
if (runIc) +JsEnvironmentConfigurationDirectives.RUN_IC
|
||||
@@ -57,16 +58,17 @@ open class AbstractFirJsTest(
|
||||
if (getBoolean("kotlin.js.ir.dce", true)) +JsEnvironmentConfigurationDirectives.RUN_IR_DCE
|
||||
+LanguageSettingsDirectives.ALLOW_KOTLIN_PACKAGE
|
||||
-JsEnvironmentConfigurationDirectives.GENERATE_NODE_JS_RUNNER
|
||||
DiagnosticsDirectives.DIAGNOSTICS with listOf("-infos")
|
||||
}
|
||||
|
||||
firHandlersStep {
|
||||
useHandlers(
|
||||
::FirDumpHandler,
|
||||
::FirCfgDumpHandler,
|
||||
::FirCfgConsistencyHandler,
|
||||
::FirResolvedTypesVerifier,
|
||||
)
|
||||
}
|
||||
firHandlersStep {
|
||||
useHandlers(
|
||||
::FirDumpHandler,
|
||||
::FirCfgDumpHandler,
|
||||
::FirCfgConsistencyHandler,
|
||||
::FirResolvedTypesVerifier,
|
||||
)
|
||||
}
|
||||
|
||||
configureJsArtifactsHandlersStep {
|
||||
useHandlers(
|
||||
|
||||
js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirJsOldFrontendDiagnosticsTestGenerated.java
Generated
+1283
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user