[Test] Generate FIR tests with new infrastructure in :analysis-tests module
This commit is contained in:
committed by
TeamCityServer
parent
537e4f0bb4
commit
a276d05917
@@ -292,6 +292,7 @@ extra["compilerModules"] = arrayOf(
|
|||||||
":compiler:fir:jvm",
|
":compiler:fir:jvm",
|
||||||
":compiler:fir:checkers",
|
":compiler:fir:checkers",
|
||||||
":compiler:fir:entrypoint",
|
":compiler:fir:entrypoint",
|
||||||
|
":compiler:fir:analysis-tests",
|
||||||
":compiler:fir:analysis-tests:legacy-fir-tests",
|
":compiler:fir:analysis-tests:legacy-fir-tests",
|
||||||
":wasm:wasm.ir"
|
":wasm:wasm.ir"
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -0,0 +1,98 @@
|
|||||||
|
import org.jetbrains.kotlin.ideaExt.idea
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Copyright 2000-2018 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
plugins {
|
||||||
|
kotlin("jvm")
|
||||||
|
id("jps-compatible")
|
||||||
|
}
|
||||||
|
|
||||||
|
dependencies {
|
||||||
|
compileOnly(intellijCoreDep()) { includeJars("intellij-core", "guava", rootProject = rootProject) }
|
||||||
|
|
||||||
|
testApi(intellijDep())
|
||||||
|
testApi(projectTests(":compiler:test-infrastructure"))
|
||||||
|
testApi(projectTests(":compiler:test-infrastructure-utils"))
|
||||||
|
testApi(projectTests(":compiler:tests-compiler-utils"))
|
||||||
|
testApi(projectTests(":compiler:tests-common-new"))
|
||||||
|
testApi(project(":compiler:cli"))
|
||||||
|
testApi(project(":compiler:fir:checkers"))
|
||||||
|
testApi(project(":compiler:fir:entrypoint"))
|
||||||
|
testApi(project(":compiler:frontend"))
|
||||||
|
|
||||||
|
testApi(platform("org.junit:junit-bom:5.7.0"))
|
||||||
|
testApi("org.junit.jupiter:junit-jupiter")
|
||||||
|
testApi("org.junit.platform:junit-platform-commons:1.7.0")
|
||||||
|
|
||||||
|
testCompileOnly(project(":kotlin-reflect-api"))
|
||||||
|
testRuntimeOnly(project(":kotlin-reflect"))
|
||||||
|
testRuntimeOnly(project(":core:descriptors.runtime"))
|
||||||
|
|
||||||
|
testImplementation(intellijCoreDep()) { includeJars("intellij-core") }
|
||||||
|
testImplementation(intellijDep()) {
|
||||||
|
// This dependency is needed only for FileComparisonFailure
|
||||||
|
includeJars("idea_rt", rootProject = rootProject)
|
||||||
|
isTransitive = false
|
||||||
|
}
|
||||||
|
|
||||||
|
// This is needed only for using FileComparisonFailure, which relies on JUnit 3 classes
|
||||||
|
testRuntimeOnly(commonDep("junit:junit"))
|
||||||
|
testRuntimeOnly(intellijDep()) {
|
||||||
|
includeJars(
|
||||||
|
"jps-model",
|
||||||
|
"extensions",
|
||||||
|
"util",
|
||||||
|
"platform-api",
|
||||||
|
"platform-impl",
|
||||||
|
"idea",
|
||||||
|
"guava",
|
||||||
|
"trove4j",
|
||||||
|
"asm-all",
|
||||||
|
"log4j",
|
||||||
|
"jdom",
|
||||||
|
"streamex",
|
||||||
|
"bootstrap",
|
||||||
|
"jna",
|
||||||
|
rootProject = rootProject
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
Platform[202] {
|
||||||
|
testRuntimeOnly(intellijDep()) { includeJars("intellij-deps-fastutil-8.3.1-1") }
|
||||||
|
}
|
||||||
|
Platform[203].orHigher {
|
||||||
|
testRuntimeOnly(intellijDep()) { includeJars("intellij-deps-fastutil-8.3.1-3") }
|
||||||
|
}
|
||||||
|
testRuntimeOnly(toolsJar())
|
||||||
|
}
|
||||||
|
|
||||||
|
val generationRoot = projectDir.resolve("tests-gen")
|
||||||
|
|
||||||
|
sourceSets {
|
||||||
|
"main" { none() }
|
||||||
|
"test" {
|
||||||
|
projectDefault()
|
||||||
|
this.java.srcDir(generationRoot.name)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (kotlinBuildProperties.isInJpsBuildIdeaSync) {
|
||||||
|
apply(plugin = "idea")
|
||||||
|
idea {
|
||||||
|
this.module.generatedSourceDirs.add(generationRoot)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
projectTest(parallel = true, jUnit5Enabled = true) {
|
||||||
|
dependsOn(":dist")
|
||||||
|
workingDir = rootDir
|
||||||
|
jvmArgs!!.removeIf { it.contains("-Xmx") }
|
||||||
|
maxHeapSize = "3g"
|
||||||
|
|
||||||
|
useJUnitPlatform()
|
||||||
|
}
|
||||||
|
|
||||||
|
testsJar()
|
||||||
+11
-7
@@ -13,7 +13,7 @@ fun generateJUnit5CompilerTests(args: Array<String>) {
|
|||||||
val excludedFirTestdataPattern = "^(.+)\\.fir\\.kts?\$"
|
val excludedFirTestdataPattern = "^(.+)\\.fir\\.kts?\$"
|
||||||
|
|
||||||
generateTestGroupSuiteWithJUnit5(args) {
|
generateTestGroupSuiteWithJUnit5(args) {
|
||||||
testGroup("compiler/tests-common-new/tests-gen", "compiler/testData") {
|
testGroup(testsRoot = "compiler/tests-common-new/tests-gen", testDataRoot = "compiler/testData") {
|
||||||
testClass<AbstractDiagnosticTest> {
|
testClass<AbstractDiagnosticTest> {
|
||||||
model("diagnostics/tests", pattern = "^(.*)\\.kts?$", excludedPattern = excludedFirTestdataPattern)
|
model("diagnostics/tests", pattern = "^(.*)\\.kts?$", excludedPattern = excludedFirTestdataPattern)
|
||||||
model("diagnostics/testsWithStdLib", excludedPattern = excludedFirTestdataPattern)
|
model("diagnostics/testsWithStdLib", excludedPattern = excludedFirTestdataPattern)
|
||||||
@@ -23,11 +23,6 @@ fun generateJUnit5CompilerTests(args: Array<String>) {
|
|||||||
model("diagnostics/tests/javac", pattern = "^(.*)\\.kts?$", excludedPattern = excludedFirTestdataPattern)
|
model("diagnostics/tests/javac", pattern = "^(.*)\\.kts?$", excludedPattern = excludedFirTestdataPattern)
|
||||||
}
|
}
|
||||||
|
|
||||||
testClass<AbstractFirDiagnosticTest>(suiteTestClassName = "FirOldFrontendDiagnosticsTestGenerated") {
|
|
||||||
model("diagnostics/tests", excludedPattern = excludedFirTestdataPattern)
|
|
||||||
model("diagnostics/testsWithStdLib", excludedPattern = excludedFirTestdataPattern)
|
|
||||||
}
|
|
||||||
|
|
||||||
testClass<AbstractDiagnosticsTestWithJsStdLib> {
|
testClass<AbstractDiagnosticsTestWithJsStdLib> {
|
||||||
model("diagnostics/testsWithJsStdLib")
|
model("diagnostics/testsWithJsStdLib")
|
||||||
}
|
}
|
||||||
@@ -45,7 +40,16 @@ fun generateJUnit5CompilerTests(args: Array<String>) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
testGroup("compiler/tests-common-new/tests-gen", "compiler/fir/analysis-tests/testData") {
|
// ---------------------------------------------- FIR tests ----------------------------------------------
|
||||||
|
|
||||||
|
testGroup(testsRoot = "compiler/fir/analysis-tests/tests-gen", testDataRoot = "compiler/testData") {
|
||||||
|
testClass<AbstractFirDiagnosticTest>(suiteTestClassName = "FirOldFrontendDiagnosticsTestGenerated") {
|
||||||
|
model("diagnostics/tests", excludedPattern = excludedFirTestdataPattern)
|
||||||
|
model("diagnostics/testsWithStdLib", excludedPattern = excludedFirTestdataPattern)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
testGroup("compiler/fir/analysis-tests/tests-gen", "compiler/fir/analysis-tests/testData") {
|
||||||
testClass<AbstractFirDiagnosticTest> {
|
testClass<AbstractFirDiagnosticTest> {
|
||||||
model("resolve", pattern = TestGeneratorUtil.KT_WITHOUT_DOTS_IN_NAME)
|
model("resolve", pattern = TestGeneratorUtil.KT_WITHOUT_DOTS_IN_NAME)
|
||||||
model("resolveWithStdlib", pattern = TestGeneratorUtil.KT_WITHOUT_DOTS_IN_NAME)
|
model("resolveWithStdlib", pattern = TestGeneratorUtil.KT_WITHOUT_DOTS_IN_NAME)
|
||||||
|
|||||||
@@ -327,6 +327,7 @@ include ":compiler:fir:cones",
|
|||||||
":compiler:fir:checkers",
|
":compiler:fir:checkers",
|
||||||
":compiler:fir:checkers:checkers-component-generator",
|
":compiler:fir:checkers:checkers-component-generator",
|
||||||
":compiler:fir:entrypoint",
|
":compiler:fir:entrypoint",
|
||||||
|
":compiler:fir:analysis-tests",
|
||||||
":compiler:fir:analysis-tests:legacy-fir-tests"
|
":compiler:fir:analysis-tests:legacy-fir-tests"
|
||||||
|
|
||||||
include ":compiler:test-infrastructure",
|
include ":compiler:test-infrastructure",
|
||||||
|
|||||||
Reference in New Issue
Block a user