[Analysis API] AbstractAnalysisApiBasedTest: implement test entry points to avoid boilerplate on implementation side

There are three test entry points:
* [doTestByMainFile] – test cases with dedicated main file.
Supports everything from single-file cases to multi-platform multi-module
multi-file cases
* [doTestByMainModuleAndOptionalMainFile] – test cases rather around
modules than files
* [doTestByModuleStructure] – all other cases with fully custom logic

Look at the KDoc of the corresponding method for more details.

^KT-64805 Fixed
This commit is contained in:
Dmitrii Gridin
2024-01-08 18:08:15 +01:00
committed by Space Team
parent b67deea21f
commit f8d95eceb7
4 changed files with 196 additions and 33 deletions
@@ -66,7 +66,7 @@ abstract class AbstractCompilerFacilityTest : AbstractAnalysisApiBasedTest() {
).map { it.name }
}
override fun doTestByMainModule(mainFile: KtFile, mainModule: TestModule, testServices: TestServices) {
override fun doTestByMainFile(mainFile: KtFile, mainModule: TestModule, testServices: TestServices) {
val irCollector = CollectingIrGenerationExtension()
val project = mainFile.project