[FIR JS] Create an LT Box runner

This commit is contained in:
Nikolay Lunyak
2024-01-08 18:22:02 +02:00
committed by Space Team
parent 4b8b7aaa54
commit f7f5ac080f
5 changed files with 11227 additions and 8 deletions
@@ -9,7 +9,6 @@ import org.jetbrains.kotlin.generators.generateTestGroupSuiteWithJUnit5
import org.jetbrains.kotlin.generators.impl.generateTestGroupSuite
import org.jetbrains.kotlin.generators.util.TestGeneratorUtil
import org.jetbrains.kotlin.incremental.*
import org.jetbrains.kotlin.js.test.*
import org.jetbrains.kotlin.js.test.fir.*
import org.jetbrains.kotlin.js.test.ir.*
import org.jetbrains.kotlin.js.testOld.AbstractDceTest
@@ -152,7 +151,11 @@ fun main(args: Array<String>) {
model("lineNumbers/")
}
testClass<AbstractFirJsBoxTest> {
testClass<AbstractFirPsiJsBoxTest> {
model("box/", pattern = "^([^_](.+))\\.kt$", excludeDirs = listOf("es6classes"))
}
testClass<AbstractFirLightTreeJsBoxTest> {
model("box/", pattern = "^([^_](.+))\\.kt$", excludeDirs = listOf("es6classes"))
}
@@ -33,7 +33,8 @@ import java.lang.Boolean.getBoolean
open class AbstractFirJsTest(
pathToTestDir: String = "${JsEnvironmentConfigurator.TEST_DATA_DIR_PATH}/box/",
testGroupOutputDirPrefix: String,
targetBackend: TargetBackend = TargetBackend.JS_IR
targetBackend: TargetBackend = TargetBackend.JS_IR,
val parser: FirParser = FirParser.Psi,
) : AbstractJsBlackBoxCodegenTestBase<FirOutputArtifact, IrBackendInput, BinaryArtifacts.KLib>(
FrontendKinds.FIR, targetBackend, pathToTestDir, testGroupOutputDirPrefix, skipMinification = true
) {
@@ -66,7 +67,7 @@ open class AbstractFirJsTest(
+LanguageSettingsDirectives.ALLOW_KOTLIN_PACKAGE
-JsEnvironmentConfigurationDirectives.GENERATE_NODE_JS_RUNNER
DiagnosticsDirectives.DIAGNOSTICS with listOf("-infos")
FirDiagnosticsDirectives.FIR_PARSER with FirParser.Psi
FirDiagnosticsDirectives.FIR_PARSER with parser
}
firHandlersStep {
@@ -93,9 +94,16 @@ open class AbstractFirJsTest(
}
}
open class AbstractFirJsBoxTest : AbstractFirJsTest(
open class AbstractFirPsiJsBoxTest : AbstractFirJsTest(
pathToTestDir = "${JsEnvironmentConfigurator.TEST_DATA_DIR_PATH}/box/",
testGroupOutputDirPrefix = "firBox/"
testGroupOutputDirPrefix = "firBox/",
parser = FirParser.Psi,
)
open class AbstractFirLightTreeJsBoxTest : AbstractFirJsTest(
pathToTestDir = "${JsEnvironmentConfigurator.TEST_DATA_DIR_PATH}/box/",
testGroupOutputDirPrefix = "firBox/",
parser = FirParser.LightTree,
)
open class AbstractFirJsCodegenBoxTest : AbstractFirJsTest(
File diff suppressed because it is too large Load Diff
@@ -19,7 +19,7 @@ import java.util.regex.Pattern;
@SuppressWarnings("all")
@TestMetadata("js/js.translator/testData/box")
@TestDataPath("$PROJECT_ROOT")
public class FirJsBoxTestGenerated extends AbstractFirJsBoxTest {
public class FirPsiJsBoxTestGenerated extends AbstractFirPsiJsBoxTest {
@Test
public void testAllFilesPresentInBox() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/box"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR, true, "es6classes");
@@ -5,7 +5,6 @@
package org.jetbrains.kotlinx.serialization.runners
import org.jetbrains.kotlin.js.test.fir.AbstractFirJsBoxTest
import org.jetbrains.kotlin.js.test.fir.AbstractFirJsTest
import org.jetbrains.kotlin.test.builders.TestConfigurationBuilder
import org.jetbrains.kotlin.test.runners.codegen.AbstractFirLightTreeBlackBoxCodegenTest