AA: revamp standalone-mode tests

This commit is contained in:
Jinseong Jeon
2022-08-09 02:03:41 -07:00
committed by Ilya Kirillov
parent ab6964d32e
commit 846ab7d97b
11 changed files with 208 additions and 11 deletions
@@ -40,6 +40,7 @@ import org.jetbrains.kotlin.analysis.api.impl.base.test.cases.symbols.AbstractSy
import org.jetbrains.kotlin.analysis.api.impl.base.test.cases.symbols.AbstractSymbolByPsiTest
import org.jetbrains.kotlin.analysis.api.impl.base.test.cases.symbols.AbstractSymbolByReferenceTest
import org.jetbrains.kotlin.analysis.api.impl.base.test.cases.types.AbstractAnalysisApiSubstitutorsTest
import org.jetbrains.kotlin.analysis.api.standalone.fir.test.cases.components.psiDeclarationProvider.AbstractDecompiledPsiDeclarationProviderTest
import org.jetbrains.kotlin.analysis.test.framework.test.configurators.AnalysisApiMode
import org.jetbrains.kotlin.analysis.test.framework.test.configurators.AnalysisSessionMode
import org.jetbrains.kotlin.analysis.test.framework.test.configurators.FrontendKind
@@ -137,6 +138,12 @@ private fun AnalysisApiTestGroup.generateAnalysisApiNonComponentsTests() {
model("typeSubstitution")
}
}
group("standalone", filter = analysisApiModeIs(AnalysisApiMode.Standalone)) {
test(AbstractDecompiledPsiDeclarationProviderTest::class) {
model("singleModule")
}
}
}
@@ -93,14 +93,14 @@ private fun getTestNameSuffix(data: AnalysisApiTestConfiguratorFactoryData): Str
private fun getPackageName(data: AnalysisApiTestConfiguratorFactoryData, testClass: KClass<*>): String {
val basePrefix = buildString {
append("org.jetbrains.kotlin.analysis.api.")
if (data.analysisApiMode ==AnalysisApiMode.Standalone) {
if (data.analysisApiMode == AnalysisApiMode.Standalone) {
append("standalone.")
}
append(data.frontend.suffix.lowercase())
append(".test.cases.generated")
}
val packagePrefix = testClass.java.name
.substringAfter("org.jetbrains.kotlin.analysis.api.impl.base.test.")
val packagePrefix = "cases." + testClass.java.name
.substringAfter("test.cases.")
.substringBeforeLast('.', "")
return if (packagePrefix.isEmpty()) "$basePrefix." else "$basePrefix.$packagePrefix."