Analysis API: do not require tests to call super.doTestByFileStructure
This commit is contained in:
+1
-1
@@ -165,7 +165,7 @@ abstract class AbstractFrontendApiTest(val configurator: FrontendApiTestConfigur
|
|||||||
registerApplicationServices()
|
registerApplicationServices()
|
||||||
|
|
||||||
val ktFiles = moduleInfo.testFilesToKtFiles.filterKeys { testFile -> !testFile.isAdditional }.values.toList()
|
val ktFiles = moduleInfo.testFilesToKtFiles.filterKeys { testFile -> !testFile.isAdditional }.values.toList()
|
||||||
|
configurator.prepareTestFiles(ktFiles, singleModule, testServices)
|
||||||
doTestByFileStructure(ktFiles, moduleStructure, testServices)
|
doTestByFileStructure(ktFiles, moduleStructure, testServices)
|
||||||
if (!enableTestInDependedMode || ktFiles.any {
|
if (!enableTestInDependedMode || ktFiles.any {
|
||||||
InTextDirectivesUtils.isDirectiveDefined(it.text, DISABLE_DEPENDED_MODE_DIRECTIVE)
|
InTextDirectivesUtils.isDirectiveDefined(it.text, DISABLE_DEPENDED_MODE_DIRECTIVE)
|
||||||
|
|||||||
-2
@@ -40,8 +40,6 @@ abstract class AbstractReferenceResolveTest(configurator: FrontendApiTestConfigu
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun doTestByFileStructure(ktFiles: List<KtFile>, module: TestModule, testServices: TestServices) {
|
override fun doTestByFileStructure(ktFiles: List<KtFile>, module: TestModule, testServices: TestServices) {
|
||||||
super.doTestByFileStructure(ktFiles, module, testServices)
|
|
||||||
|
|
||||||
val mainKtFile = ktFiles.singleOrNull() ?: ktFiles.first { it.name == "main.kt" }
|
val mainKtFile = ktFiles.singleOrNull() ?: ktFiles.first { it.name == "main.kt" }
|
||||||
val caretPosition = testServices.expressionMarkerProvider.getCaretPosition(mainKtFile)
|
val caretPosition = testServices.expressionMarkerProvider.getCaretPosition(mainKtFile)
|
||||||
val ktReferences = findReferencesAtCaret(mainKtFile, caretPosition)
|
val ktReferences = findReferencesAtCaret(mainKtFile, caretPosition)
|
||||||
|
|||||||
-2
@@ -20,8 +20,6 @@ abstract class AbstractCompileTimeConstantEvaluatorTest(
|
|||||||
configurator: FrontendApiTestConfiguratorService
|
configurator: FrontendApiTestConfiguratorService
|
||||||
) : AbstractHLApiSingleFileTest(configurator) {
|
) : AbstractHLApiSingleFileTest(configurator) {
|
||||||
override fun doTestByFileStructure(ktFile: KtFile, module: TestModule, testServices: TestServices) {
|
override fun doTestByFileStructure(ktFile: KtFile, module: TestModule, testServices: TestServices) {
|
||||||
super.doTestByFileStructure(ktFile, module, testServices)
|
|
||||||
|
|
||||||
val element = testServices.expressionMarkerProvider.getSelectedElement(ktFile)
|
val element = testServices.expressionMarkerProvider.getSelectedElement(ktFile)
|
||||||
val expression = when (element) {
|
val expression = when (element) {
|
||||||
is KtExpression -> element
|
is KtExpression -> element
|
||||||
|
|||||||
-1
@@ -23,7 +23,6 @@ abstract class AbstractReturnTargetSymbolTest(
|
|||||||
) : AbstractHLApiSingleFileTest(configurator) {
|
) : AbstractHLApiSingleFileTest(configurator) {
|
||||||
val commentRegex = Regex("""/\* (.+@\(.+\)|null) \*/""")
|
val commentRegex = Regex("""/\* (.+@\(.+\)|null) \*/""")
|
||||||
override fun doTestByFileStructure(ktFile: KtFile, module: TestModule, testServices: TestServices) {
|
override fun doTestByFileStructure(ktFile: KtFile, module: TestModule, testServices: TestServices) {
|
||||||
super.doTestByFileStructure(ktFile, module, testServices)
|
|
||||||
val original = ktFile.text
|
val original = ktFile.text
|
||||||
val actual = buildString {
|
val actual = buildString {
|
||||||
ktFile.accept(object : KtTreeVisitorVoid() {
|
ktFile.accept(object : KtTreeVisitorVoid() {
|
||||||
|
|||||||
-2
@@ -18,8 +18,6 @@ abstract class AbstractWhenMissingCasesTest(
|
|||||||
configurator: FrontendApiTestConfiguratorService
|
configurator: FrontendApiTestConfiguratorService
|
||||||
) : AbstractHLApiSingleFileTest(configurator) {
|
) : AbstractHLApiSingleFileTest(configurator) {
|
||||||
override fun doTestByFileStructure(ktFile: KtFile, module: TestModule, testServices: TestServices) {
|
override fun doTestByFileStructure(ktFile: KtFile, module: TestModule, testServices: TestServices) {
|
||||||
super.doTestByFileStructure(ktFile, module, testServices)
|
|
||||||
|
|
||||||
val whenExpression = testServices.expressionMarkerProvider.getElementOfTypAtCaret<KtWhenExpression>(ktFile)
|
val whenExpression = testServices.expressionMarkerProvider.getElementOfTypAtCaret<KtWhenExpression>(ktFile)
|
||||||
|
|
||||||
val actual = executeOnPooledThreadInReadAction {
|
val actual = executeOnPooledThreadInReadAction {
|
||||||
|
|||||||
-2
@@ -19,8 +19,6 @@ abstract class AbstractExpectedExpressionTypeTest(
|
|||||||
configurator: FrontendApiTestConfiguratorService
|
configurator: FrontendApiTestConfiguratorService
|
||||||
) : AbstractHLApiSingleFileTest(configurator) {
|
) : AbstractHLApiSingleFileTest(configurator) {
|
||||||
override fun doTestByFileStructure(ktFile: KtFile, module: TestModule, testServices: TestServices) {
|
override fun doTestByFileStructure(ktFile: KtFile, module: TestModule, testServices: TestServices) {
|
||||||
super.doTestByFileStructure(ktFile, module, testServices)
|
|
||||||
|
|
||||||
val expressionAtCaret = testServices.expressionMarkerProvider.getElementOfTypAtCaret(ktFile) as KtExpression
|
val expressionAtCaret = testServices.expressionMarkerProvider.getElementOfTypAtCaret(ktFile) as KtExpression
|
||||||
|
|
||||||
val actualExpectedTypeText: String? = executeOnPooledThreadInReadAction {
|
val actualExpectedTypeText: String? = executeOnPooledThreadInReadAction {
|
||||||
|
|||||||
-2
@@ -16,8 +16,6 @@ import org.jetbrains.kotlin.test.services.assertions
|
|||||||
|
|
||||||
abstract class AbstractHLExpressionTypeTest(configurator: FrontendApiTestConfiguratorService) : AbstractHLApiSingleFileTest(configurator) {
|
abstract class AbstractHLExpressionTypeTest(configurator: FrontendApiTestConfiguratorService) : AbstractHLApiSingleFileTest(configurator) {
|
||||||
override fun doTestByFileStructure(ktFile: KtFile, module: TestModule, testServices: TestServices) {
|
override fun doTestByFileStructure(ktFile: KtFile, module: TestModule, testServices: TestServices) {
|
||||||
super.doTestByFileStructure(ktFile, module, testServices)
|
|
||||||
|
|
||||||
val expression = testServices.expressionMarkerProvider.getSelectedElement(ktFile) as KtExpression
|
val expression = testServices.expressionMarkerProvider.getSelectedElement(ktFile) as KtExpression
|
||||||
val type = executeOnPooledThreadInReadAction {
|
val type = executeOnPooledThreadInReadAction {
|
||||||
analyseForTest(expression) { expression.getKtType()?.render() }
|
analyseForTest(expression) { expression.getKtType()?.render() }
|
||||||
|
|||||||
-2
@@ -16,8 +16,6 @@ import org.jetbrains.kotlin.test.services.assertions
|
|||||||
|
|
||||||
abstract class AbstractHLSmartCastInfoTest(configurator: FrontendApiTestConfiguratorService) : AbstractHLApiSingleFileTest(configurator) {
|
abstract class AbstractHLSmartCastInfoTest(configurator: FrontendApiTestConfiguratorService) : AbstractHLApiSingleFileTest(configurator) {
|
||||||
override fun doTestByFileStructure(ktFile: KtFile, module: TestModule, testServices: TestServices) {
|
override fun doTestByFileStructure(ktFile: KtFile, module: TestModule, testServices: TestServices) {
|
||||||
super.doTestByFileStructure(ktFile, module, testServices)
|
|
||||||
|
|
||||||
val expression = testServices.expressionMarkerProvider.getSelectedElement(ktFile) as KtExpression
|
val expression = testServices.expressionMarkerProvider.getSelectedElement(ktFile) as KtExpression
|
||||||
val actual = executeOnPooledThreadInReadAction {
|
val actual = executeOnPooledThreadInReadAction {
|
||||||
analyseForTest(expression) {
|
analyseForTest(expression) {
|
||||||
|
|||||||
-2
@@ -24,8 +24,6 @@ abstract class AbstractOverriddenDeclarationProviderTest(
|
|||||||
configurator: FrontendApiTestConfiguratorService
|
configurator: FrontendApiTestConfiguratorService
|
||||||
) : AbstractHLApiSingleModuleTest(configurator) {
|
) : AbstractHLApiSingleModuleTest(configurator) {
|
||||||
override fun doTestByFileStructure(ktFiles: List<KtFile>, module: TestModule, testServices: TestServices) {
|
override fun doTestByFileStructure(ktFiles: List<KtFile>, module: TestModule, testServices: TestServices) {
|
||||||
super.doTestByFileStructure(ktFiles, module, testServices)
|
|
||||||
|
|
||||||
val declaration = testServices.expressionMarkerProvider.getElementOfTypAtCaret<KtDeclaration>(ktFiles.first())
|
val declaration = testServices.expressionMarkerProvider.getElementOfTypAtCaret<KtDeclaration>(ktFiles.first())
|
||||||
|
|
||||||
val actual = executeOnPooledThreadInReadAction {
|
val actual = executeOnPooledThreadInReadAction {
|
||||||
|
|||||||
-2
@@ -16,8 +16,6 @@ import org.jetbrains.kotlin.test.services.assertions
|
|||||||
|
|
||||||
abstract class AbstractRendererTest(configurator: FrontendApiTestConfiguratorService) : AbstractHLApiSingleFileTest(configurator) {
|
abstract class AbstractRendererTest(configurator: FrontendApiTestConfiguratorService) : AbstractHLApiSingleFileTest(configurator) {
|
||||||
override fun doTestByFileStructure(ktFile: KtFile, module: TestModule, testServices: TestServices) {
|
override fun doTestByFileStructure(ktFile: KtFile, module: TestModule, testServices: TestServices) {
|
||||||
super.doTestByFileStructure(ktFile, module, testServices)
|
|
||||||
|
|
||||||
val options = KtDeclarationRendererOptions.DEFAULT.copy(
|
val options = KtDeclarationRendererOptions.DEFAULT.copy(
|
||||||
approximateTypes = true,
|
approximateTypes = true,
|
||||||
renderContainingDeclarations = true,
|
renderContainingDeclarations = true,
|
||||||
|
|||||||
-2
@@ -19,8 +19,6 @@ abstract class AbstractFunctionClassKindTest (
|
|||||||
) : AbstractHLApiSingleFileTest(configurator) {
|
) : AbstractHLApiSingleFileTest(configurator) {
|
||||||
|
|
||||||
override fun doTestByFileStructure(ktFile: KtFile, module: TestModule, testServices: TestServices) {
|
override fun doTestByFileStructure(ktFile: KtFile, module: TestModule, testServices: TestServices) {
|
||||||
super.doTestByFileStructure(ktFile, module, testServices)
|
|
||||||
|
|
||||||
val expressionAtCaret = testServices.expressionMarkerProvider.getElementOfTypAtCaret(ktFile) as KtExpression
|
val expressionAtCaret = testServices.expressionMarkerProvider.getElementOfTypAtCaret(ktFile) as KtExpression
|
||||||
|
|
||||||
val (type, functionClassKind) = executeOnPooledThreadInReadAction {
|
val (type, functionClassKind) = executeOnPooledThreadInReadAction {
|
||||||
|
|||||||
-2
@@ -24,8 +24,6 @@ import java.io.File
|
|||||||
|
|
||||||
abstract class AbstractHasCommonSubtypeTest(configurator: FrontendApiTestConfiguratorService) : AbstractHLApiSingleFileTest(configurator) {
|
abstract class AbstractHasCommonSubtypeTest(configurator: FrontendApiTestConfiguratorService) : AbstractHLApiSingleFileTest(configurator) {
|
||||||
override fun doTestByFileStructure(ktFile: KtFile, module: TestModule, testServices: TestServices) {
|
override fun doTestByFileStructure(ktFile: KtFile, module: TestModule, testServices: TestServices) {
|
||||||
super.doTestByFileStructure(ktFile, module, testServices)
|
|
||||||
|
|
||||||
val errors = mutableListOf<String>()
|
val errors = mutableListOf<String>()
|
||||||
val originalText = ktFile.text
|
val originalText = ktFile.text
|
||||||
val actualTextBuilder = StringBuilder()
|
val actualTextBuilder = StringBuilder()
|
||||||
|
|||||||
-2
@@ -30,8 +30,6 @@ import kotlin.reflect.jvm.javaGetter
|
|||||||
|
|
||||||
abstract class AbstractResolveCallTest(configurator: FrontendApiTestConfiguratorService) : AbstractHLApiSingleModuleTest(configurator) {
|
abstract class AbstractResolveCallTest(configurator: FrontendApiTestConfiguratorService) : AbstractHLApiSingleModuleTest(configurator) {
|
||||||
override fun doTestByFileStructure(ktFiles: List<KtFile>, module: TestModule, testServices: TestServices) {
|
override fun doTestByFileStructure(ktFiles: List<KtFile>, module: TestModule, testServices: TestServices) {
|
||||||
super.doTestByFileStructure(ktFiles, module, testServices)
|
|
||||||
|
|
||||||
val ktFile = ktFiles.first()
|
val ktFile = ktFiles.first()
|
||||||
val expression = testServices.expressionMarkerProvider.getSelectedElement(ktFile)
|
val expression = testServices.expressionMarkerProvider.getSelectedElement(ktFile)
|
||||||
|
|
||||||
|
|||||||
-2
@@ -15,8 +15,6 @@ import org.jetbrains.kotlin.test.services.assertions
|
|||||||
|
|
||||||
abstract class AbstractFileScopeTest(configurator: FrontendApiTestConfiguratorService) : AbstractHLApiSingleFileTest(configurator) {
|
abstract class AbstractFileScopeTest(configurator: FrontendApiTestConfiguratorService) : AbstractHLApiSingleFileTest(configurator) {
|
||||||
override fun doTestByFileStructure(ktFile: KtFile, module: TestModule, testServices: TestServices) {
|
override fun doTestByFileStructure(ktFile: KtFile, module: TestModule, testServices: TestServices) {
|
||||||
super.doTestByFileStructure(ktFile, module, testServices)
|
|
||||||
|
|
||||||
val actual = executeOnPooledThreadInReadAction {
|
val actual = executeOnPooledThreadInReadAction {
|
||||||
analyseForTest(ktFile) {
|
analyseForTest(ktFile) {
|
||||||
val symbol = ktFile.getFileSymbol()
|
val symbol = ktFile.getFileSymbol()
|
||||||
|
|||||||
-2
@@ -30,8 +30,6 @@ abstract class AbstractSymbolTest(configurator: FrontendApiTestConfiguratorServi
|
|||||||
abstract fun KtAnalysisSession.collectSymbols(ktFile: KtFile, testServices: TestServices): List<KtSymbol>
|
abstract fun KtAnalysisSession.collectSymbols(ktFile: KtFile, testServices: TestServices): List<KtSymbol>
|
||||||
|
|
||||||
override fun doTestByFileStructure(ktFile: KtFile, module: TestModule, testServices: TestServices) {
|
override fun doTestByFileStructure(ktFile: KtFile, module: TestModule, testServices: TestServices) {
|
||||||
super.doTestByFileStructure(ktFile, module, testServices)
|
|
||||||
|
|
||||||
val createPointers = SymbolTestDirectives.DO_NOT_CHECK_SYMBOL_RESTORE !in module.directives
|
val createPointers = SymbolTestDirectives.DO_NOT_CHECK_SYMBOL_RESTORE !in module.directives
|
||||||
val pointersWithRendered = analyseOnPooledThreadInReadAction(ktFile) {
|
val pointersWithRendered = analyseOnPooledThreadInReadAction(ktFile) {
|
||||||
collectSymbols(ktFile, testServices).map { symbol ->
|
collectSymbols(ktFile, testServices).map { symbol ->
|
||||||
|
|||||||
+1
-3
@@ -16,7 +16,5 @@ abstract class AbstractHLApiSingleFileTest(configurator: FrontendApiTestConfigur
|
|||||||
doTestByFileStructure(singleFile, module, testServices)
|
doTestByFileStructure(singleFile, module, testServices)
|
||||||
}
|
}
|
||||||
|
|
||||||
protected open fun doTestByFileStructure(ktFile: KtFile, module: TestModule, testServices: TestServices) {
|
protected abstract fun doTestByFileStructure(ktFile: KtFile, module: TestModule, testServices: TestServices)
|
||||||
configurator.prepareTestFiles(listOf(ktFile), module, testServices)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
+1
-3
@@ -24,9 +24,7 @@ abstract class AbstractHLApiSingleModuleTest(configurator: FrontendApiTestConfig
|
|||||||
doTestByFileStructure(ktFiles, singleModule, testServices)
|
doTestByFileStructure(ktFiles, singleModule, testServices)
|
||||||
}
|
}
|
||||||
|
|
||||||
protected open fun doTestByFileStructure(ktFiles: List<KtFile>, module: TestModule, testServices: TestServices) {
|
protected abstract fun doTestByFileStructure(ktFiles: List<KtFile>, module: TestModule, testServices: TestServices)
|
||||||
configurator.prepareTestFiles(ktFiles, module, testServices)
|
|
||||||
}
|
|
||||||
|
|
||||||
protected inline fun <R> analyseOnPooledThreadInReadAction(context: KtElement, crossinline action: KtAnalysisSession.() -> R): R =
|
protected inline fun <R> analyseOnPooledThreadInReadAction(context: KtElement, crossinline action: KtAnalysisSession.() -> R): R =
|
||||||
executeOnPooledThreadInReadAction {
|
executeOnPooledThreadInReadAction {
|
||||||
|
|||||||
Reference in New Issue
Block a user