[SLC] introduce tests on equality

^KT-56613
This commit is contained in:
Dmitrii Gridin
2023-02-22 17:17:38 +01:00
committed by Space Team
parent 847b29ac15
commit e20f72fcf8
12 changed files with 2402 additions and 54 deletions
@@ -5,6 +5,7 @@
package org.jetbrains.kotlin.generators.tests.analysis.api
import org.jetbrains.kotlin.generators.TestGroup
import org.jetbrains.kotlin.generators.TestGroupSuite
import org.jetbrains.kotlin.generators.util.TestGeneratorUtil
import org.jetbrains.kotlin.light.classes.symbol.base.AbstractSymbolLightClassesEquivalentTest
@@ -12,60 +13,7 @@ import org.jetbrains.kotlin.light.classes.symbol.decompiled.*
import org.jetbrains.kotlin.light.classes.symbol.source.*
internal fun TestGroupSuite.generateSymbolLightClassesTests() {
testGroup(
"analysis/symbol-light-classes/tests",
"compiler/testData",
) {
run {
testClass<AbstractSymbolLightClassesByFqNameForSourceTest> {
model(
"asJava/lightClasses/lightClassByFqName",
pattern = TestGeneratorUtil.KT_WITHOUT_DOTS_IN_NAME
)
}
testClass<AbstractSymbolLightClassesByFqNameForLibraryTest> {
model(
"asJava/lightClasses/lightClassByFqName",
excludeDirs = listOf("compilationErrors"),
pattern = TestGeneratorUtil.KT_WITHOUT_DOTS_IN_NAME
)
}
testClass<AbstractSymbolLightClassesParentingByFqNameForSourceTest> {
model(
"asJava/lightClasses/lightClassByFqName",
pattern = TestGeneratorUtil.KT_WITHOUT_DOTS_IN_NAME
)
}
testClass<AbstractSymbolLightClassesParentingByFqNameForLibraryTest> {
model(
"asJava/lightClasses/lightClassByFqName",
excludeDirs = listOf("compilationErrors"),
pattern = TestGeneratorUtil.KT_WITHOUT_DOTS_IN_NAME
)
}
}
run {
testClass<AbstractSymbolLightClassesByPsiForSourceTest> {
model("asJava/lightClasses/lightClassByPsi", pattern = TestGeneratorUtil.KT_OR_KTS)
}
testClass<AbstractSymbolLightClassesByPsiForLibraryTest> {
model("asJava/lightClasses/lightClassByPsi", pattern = TestGeneratorUtil.KT_OR_KTS)
}
testClass<AbstractSymbolLightClassesParentingByPsiForSourceTest> {
model("asJava/lightClasses/lightClassByPsi", pattern = TestGeneratorUtil.KT_OR_KTS)
}
testClass<AbstractSymbolLightClassesParentingByPsiForLibraryTest> {
model("asJava/lightClasses/lightClassByPsi", pattern = TestGeneratorUtil.KT_OR_KTS)
}
}
}
generateCompilerTestDataBasedLightClassesTests()
testGroup(
"analysis/symbol-light-classes/tests",
@@ -104,3 +52,54 @@ internal fun TestGroupSuite.generateSymbolLightClassesTests() {
}
}
}
private fun TestGroupSuite.generateCompilerTestDataBasedLightClassesTests() {
testGroup(
"analysis/symbol-light-classes/tests",
"compiler/testData",
) {
lightClassesByFqNameTests()
lightClassesByPsiTests()
}
}
private fun TestGroup.lightClassesByPsiTests() {
val modelInit: TestGroup.TestClass.() -> Unit = {
model("asJava/lightClasses/lightClassByPsi", pattern = TestGeneratorUtil.KT_OR_KTS)
}
testClass<AbstractSymbolLightClassesByPsiForSourceTest>(init = modelInit)
testClass<AbstractSymbolLightClassesByPsiForLibraryTest>(init = modelInit)
testClass<AbstractSymbolLightClassesParentingByPsiForSourceTest>(init = modelInit)
testClass<AbstractSymbolLightClassesParentingByPsiForLibraryTest>(init = modelInit)
testClass<AbstractSymbolLightClassesEqualityByPsiForSourceTest>(init = modelInit)
testClass<AbstractSymbolLightClassesEqualityByPsiForLibraryTest>(init = modelInit)
}
private fun TestGroup.lightClassesByFqNameTests() {
val sourceModelInit: TestGroup.TestClass.() -> Unit = {
model(
"asJava/lightClasses/lightClassByFqName",
pattern = TestGeneratorUtil.KT_WITHOUT_DOTS_IN_NAME
)
}
val libraryModelInit: TestGroup.TestClass.() -> Unit = {
model(
"asJava/lightClasses/lightClassByFqName",
excludeDirs = listOf("compilationErrors"),
pattern = TestGeneratorUtil.KT_WITHOUT_DOTS_IN_NAME
)
}
testClass<AbstractSymbolLightClassesByFqNameForSourceTest>(init = sourceModelInit)
testClass<AbstractSymbolLightClassesByFqNameForLibraryTest>(init = libraryModelInit)
testClass<AbstractSymbolLightClassesParentingByFqNameForSourceTest>(init = sourceModelInit)
testClass<AbstractSymbolLightClassesParentingByFqNameForLibraryTest>(init = libraryModelInit)
testClass<AbstractSymbolLightClassesEqualityByFqNameForSourceTest>(init = sourceModelInit)
testClass<AbstractSymbolLightClassesEqualityByFqNameForLibraryTest>(init = libraryModelInit)
}