[Tests] Add .knm stub consistency test

The test compares stub trees built from .knm files directly and from
the decompiled text. Test data for .class decompiler is reused,
JVM-specific cases are ignored

KT-61354
This commit is contained in:
Pavel Kirpichenkov
2023-08-25 18:20:56 +03:00
committed by Space Team
parent 2537ff94b7
commit cf98fb5612
16 changed files with 841 additions and 5 deletions
@@ -23,6 +23,7 @@ dependencies {
testImplementation(projectTests(":analysis:decompiled:decompiler-to-file-stubs"))
testImplementation(projectTests(":analysis:decompiled:decompiler-to-psi"))
testImplementation(projectTests(":analysis:symbol-light-classes"))
testImplementation(projectTests(":analysis:decompiled:native"))
testImplementation(intellijCore())
testApiJUnit5()
}
@@ -5,6 +5,8 @@
package org.jetbrains.kotlin.generators.tests.analysis.api
import org.jetbrains.kotlin.analysis.decompiler.konan.AbstractDecompiledKnmStubConsistencyFe10Test
import org.jetbrains.kotlin.analysis.decompiler.konan.AbstractDecompiledKnmStubConsistencyK2Test
import org.jetbrains.kotlin.analysis.decompiler.psi.AbstractByDecompiledPsiStubBuilderK2CompilerTest
import org.jetbrains.kotlin.analysis.decompiler.psi.AbstractByDecompiledPsiStubBuilderTest
import org.jetbrains.kotlin.analysis.decompiler.stub.files.AbstractAdditionalStubInfoK2CompilerTest
@@ -52,4 +54,16 @@ internal fun TestGroupSuite.generateDecompiledTests() {
model("clsFileStubBuilder", extension = null, recursive = false)
}
}
testGroup(
"analysis/decompiled/native/tests",
"analysis/decompiled/decompiler-to-file-stubs/testData",
) {
testClass<AbstractDecompiledKnmStubConsistencyK2Test> {
model("clsFileStubBuilder", extension = null, recursive = false)
}
testClass<AbstractDecompiledKnmStubConsistencyFe10Test> {
model("clsFileStubBuilder", extension = null, recursive = false)
}
}
}