AA standalone: introduce multi-module binary dependency test

This commit is contained in:
Jinseong Jeon
2023-11-19 00:00:53 -08:00
committed by teamcity
parent 3c775c4a42
commit 10c9b81c79
23 changed files with 339 additions and 76 deletions
@@ -57,6 +57,7 @@ import org.jetbrains.kotlin.analysis.api.impl.base.test.cases.symbols.*
import org.jetbrains.kotlin.analysis.api.impl.base.test.cases.types.AbstractAnalysisApiSubstitutorsTest
import org.jetbrains.kotlin.analysis.api.impl.base.test.cases.types.AbstractBuiltInTypeTest
import org.jetbrains.kotlin.analysis.api.impl.base.test.cases.types.AbstractTypeByDeclarationReturnTypeTest
import org.jetbrains.kotlin.analysis.api.standalone.fir.test.cases.components.psiDeclarationProvider.AbstractPsiDeclarationProviderMultiModuleBinaryTest
import org.jetbrains.kotlin.analysis.api.standalone.fir.test.cases.components.psiDeclarationProvider.AbstractPsiDeclarationProviderSingleModuleTest
import org.jetbrains.kotlin.analysis.test.framework.test.configurators.AnalysisApiMode
import org.jetbrains.kotlin.analysis.test.framework.test.configurators.AnalysisSessionMode
@@ -109,6 +110,12 @@ internal fun AnalysisApiTestGroup.generateAnalysisApiTests() {
generateAnalysisApiNonComponentsTests()
generateResolveExtensionsTests()
}
group(
filter = testModuleKindIs(TestModuleKind.Source, TestModuleKind.ScriptSource, TestModuleKind.LibraryBinary) and
analysisApiModeIs(AnalysisApiMode.Standalone)
) {
generateAnalysisApiStandaloneTests()
}
}
private fun AnalysisApiTestGroup.generateResolveExtensionsTests() {
@@ -216,15 +223,25 @@ private fun AnalysisApiTestGroup.generateAnalysisApiNonComponentsTests() {
model(it, "typeSubstitution")
}
}
}
group("standalone", filter = analysisApiModeIs(AnalysisApiMode.Standalone)) {
test(AbstractPsiDeclarationProviderSingleModuleTest::class) {
private fun AnalysisApiTestGroup.generateAnalysisApiStandaloneTests() {
group("standalone") {
test(
AbstractPsiDeclarationProviderSingleModuleTest::class,
filter = testModuleKindIs(TestModuleKind.Source)
) {
model(it, "singleModule")
}
test(
AbstractPsiDeclarationProviderMultiModuleBinaryTest::class,
filter = testModuleKindIs(TestModuleKind.LibraryBinary)
) {
model(it, "multiModuleBinary")
}
}
}
private fun AnalysisApiTestGroup.generateAnalysisApiComponentsTests() {
component("callResolver", filter = analysisSessionModeIs(AnalysisSessionMode.Normal)) {
test(AbstractResolveCallTest::class) {