[Test] Introduce single interface for all entities which provides directive containers and test services
This commit is contained in:
committed by
teamcityserver
parent
b42d6a3e85
commit
ba48f80e53
+1
-5
@@ -6,13 +6,9 @@
|
||||
package org.jetbrains.kotlin.test.model
|
||||
|
||||
import org.jetbrains.kotlin.test.WrappedException
|
||||
import org.jetbrains.kotlin.test.directives.model.DirectivesContainer
|
||||
import org.jetbrains.kotlin.test.services.TestServices
|
||||
|
||||
abstract class AfterAnalysisChecker(protected val testServices: TestServices) {
|
||||
open val directives: List<DirectivesContainer>
|
||||
get() = emptyList()
|
||||
|
||||
abstract class AfterAnalysisChecker(protected val testServices: TestServices) : ServicesAndDirectivesContainer {
|
||||
open fun check(failedAssertions: List<WrappedException>) {}
|
||||
|
||||
open fun suppressIfNeeded(failedAssertions: List<WrappedException>): List<WrappedException> = failedAssertions
|
||||
|
||||
+1
-9
@@ -6,8 +6,6 @@
|
||||
package org.jetbrains.kotlin.test.model
|
||||
|
||||
import org.jetbrains.kotlin.test.Assertions
|
||||
import org.jetbrains.kotlin.test.directives.model.DirectivesContainer
|
||||
import org.jetbrains.kotlin.test.services.ServiceRegistrationData
|
||||
import org.jetbrains.kotlin.test.services.TestServices
|
||||
import org.jetbrains.kotlin.test.services.assertions
|
||||
|
||||
@@ -15,16 +13,10 @@ abstract class AnalysisHandler<A : ResultingArtifact<A>>(
|
||||
val testServices: TestServices,
|
||||
val failureDisablesNextSteps: Boolean,
|
||||
val doNotRunIfThereWerePreviousFailures: Boolean
|
||||
) {
|
||||
) : ServicesAndDirectivesContainer {
|
||||
protected val assertions: Assertions
|
||||
get() = testServices.assertions
|
||||
|
||||
open val directivesContainers: List<DirectivesContainer>
|
||||
get() = emptyList()
|
||||
|
||||
open val additionalServices: List<ServiceRegistrationData>
|
||||
get() = emptyList()
|
||||
|
||||
abstract val artifactKind: TestArtifactKind<A>
|
||||
|
||||
abstract fun processModule(module: TestModule, info: A)
|
||||
|
||||
@@ -9,17 +9,19 @@ import org.jetbrains.kotlin.test.directives.model.DirectivesContainer
|
||||
import org.jetbrains.kotlin.test.services.ServiceRegistrationData
|
||||
import org.jetbrains.kotlin.test.services.TestServices
|
||||
|
||||
abstract class AbstractTestFacade<I : ResultingArtifact<I>, O : ResultingArtifact<O>> {
|
||||
interface ServicesAndDirectivesContainer {
|
||||
val additionalServices: List<ServiceRegistrationData>
|
||||
get() = emptyList()
|
||||
|
||||
val directiveContainers: List<DirectivesContainer>
|
||||
get() = emptyList()
|
||||
}
|
||||
|
||||
abstract class AbstractTestFacade<I : ResultingArtifact<I>, O : ResultingArtifact<O>> : ServicesAndDirectivesContainer {
|
||||
abstract val inputKind: TestArtifactKind<I>
|
||||
abstract val outputKind: TestArtifactKind<O>
|
||||
|
||||
abstract fun transform(module: TestModule, inputArtifact: I): O?
|
||||
|
||||
open val additionalServices: List<ServiceRegistrationData>
|
||||
get() = emptyList()
|
||||
|
||||
open val additionalDirectives: List<DirectivesContainer>
|
||||
get() = emptyList()
|
||||
}
|
||||
|
||||
abstract class FrontendFacade<R : ResultingArtifact.FrontendOutput<R>>(
|
||||
|
||||
+2
-5
@@ -5,17 +5,14 @@
|
||||
|
||||
package org.jetbrains.kotlin.test.services
|
||||
|
||||
import org.jetbrains.kotlin.test.directives.model.DirectivesContainer
|
||||
import org.jetbrains.kotlin.test.directives.model.RegisteredDirectives
|
||||
import org.jetbrains.kotlin.test.directives.model.SimpleDirective
|
||||
import org.jetbrains.kotlin.test.model.ServicesAndDirectivesContainer
|
||||
import org.jetbrains.kotlin.test.model.TestFile
|
||||
import org.jetbrains.kotlin.test.model.TestModule
|
||||
import java.io.File
|
||||
|
||||
abstract class AdditionalSourceProvider(val testServices: TestServices) {
|
||||
open val directives: List<DirectivesContainer>
|
||||
get() = emptyList()
|
||||
|
||||
abstract class AdditionalSourceProvider(val testServices: TestServices) : ServicesAndDirectivesContainer {
|
||||
/**
|
||||
* Note that you can not use [testServices.moduleStructure] here because it's not initialized yet
|
||||
*/
|
||||
|
||||
+6
-8
@@ -10,16 +10,14 @@ import org.jetbrains.kotlin.config.AnalysisFlag
|
||||
import org.jetbrains.kotlin.config.CompilerConfiguration
|
||||
import org.jetbrains.kotlin.config.CompilerConfigurationKey
|
||||
import org.jetbrains.kotlin.config.LanguageVersion
|
||||
import org.jetbrains.kotlin.test.directives.model.*
|
||||
import org.jetbrains.kotlin.test.directives.model.RegisteredDirectives
|
||||
import org.jetbrains.kotlin.test.directives.model.SimpleDirective
|
||||
import org.jetbrains.kotlin.test.directives.model.ValueDirective
|
||||
import org.jetbrains.kotlin.test.directives.model.singleOrZeroValue
|
||||
import org.jetbrains.kotlin.test.model.ServicesAndDirectivesContainer
|
||||
import org.jetbrains.kotlin.test.model.TestModule
|
||||
|
||||
abstract class EnvironmentConfigurator(protected val testServices: TestServices) {
|
||||
open val directivesContainers: List<DirectivesContainer>
|
||||
get() = emptyList()
|
||||
|
||||
open val additionalServices: List<ServiceRegistrationData>
|
||||
get() = emptyList()
|
||||
|
||||
abstract class EnvironmentConfigurator(protected val testServices: TestServices) : ServicesAndDirectivesContainer {
|
||||
protected val moduleStructure: TestModuleStructure
|
||||
get() = testServices.moduleStructure
|
||||
|
||||
|
||||
+2
-5
@@ -5,12 +5,9 @@
|
||||
|
||||
package org.jetbrains.kotlin.test.services
|
||||
|
||||
import org.jetbrains.kotlin.test.directives.model.DirectivesContainer
|
||||
|
||||
abstract class MetaTestConfigurator(protected val testServices: TestServices) {
|
||||
open val directives: List<DirectivesContainer>
|
||||
get() = emptyList()
|
||||
import org.jetbrains.kotlin.test.model.ServicesAndDirectivesContainer
|
||||
|
||||
abstract class MetaTestConfigurator(protected val testServices: TestServices) : ServicesAndDirectivesContainer {
|
||||
open fun transformTestDataPath(testDataFileName: String): String = testDataFileName
|
||||
|
||||
open fun shouldSkipTest(): Boolean = false
|
||||
|
||||
+5
-2
@@ -14,14 +14,17 @@ import org.jetbrains.kotlin.test.directives.model.DirectivesContainer
|
||||
import org.jetbrains.kotlin.test.directives.model.ValueDirective
|
||||
import org.jetbrains.kotlin.test.model.AfterAnalysisChecker
|
||||
import org.jetbrains.kotlin.test.model.FrontendKinds
|
||||
import org.jetbrains.kotlin.test.services.*
|
||||
import org.jetbrains.kotlin.test.services.TestModuleStructure
|
||||
import org.jetbrains.kotlin.test.services.TestServices
|
||||
import org.jetbrains.kotlin.test.services.defaultsProvider
|
||||
import org.jetbrains.kotlin.test.services.moduleStructure
|
||||
import org.jetbrains.kotlin.test.util.joinToArrayString
|
||||
|
||||
class BlackBoxCodegenSuppressor(
|
||||
testServices: TestServices,
|
||||
val customIgnoreDirective: ValueDirective<TargetBackend>? = null
|
||||
) : AfterAnalysisChecker(testServices) {
|
||||
override val directives: List<DirectivesContainer>
|
||||
override val directiveContainers: List<DirectivesContainer>
|
||||
get() = listOf(CodegenTestDirectives)
|
||||
|
||||
@OptIn(ExperimentalStdlibApi::class)
|
||||
|
||||
+1
-1
@@ -22,7 +22,7 @@ class ClassicJvmBackendFacade(
|
||||
) : ClassicBackendFacade<BinaryArtifacts.Jvm>(testServices, ArtifactKinds.Jvm) {
|
||||
private val javaCompilerFacade = JavaCompilerFacade(testServices)
|
||||
|
||||
override val additionalDirectives: List<DirectivesContainer>
|
||||
override val directiveContainers: List<DirectivesContainer>
|
||||
get() = listOf(CodegenTestDirectives)
|
||||
|
||||
override fun transform(
|
||||
|
||||
+1
-1
@@ -19,7 +19,7 @@ import org.jetbrains.kotlin.test.services.dependencyProvider
|
||||
import org.jetbrains.kotlin.test.services.moduleStructure
|
||||
|
||||
class BytecodeInliningHandler(testServices: TestServices) : JvmBinaryArtifactHandler(testServices) {
|
||||
override val directivesContainers: List<DirectivesContainer>
|
||||
override val directiveContainers: List<DirectivesContainer>
|
||||
get() = listOf(CodegenTestDirectives)
|
||||
|
||||
override fun processModule(module: TestModule, info: BinaryArtifacts.Jvm) {}
|
||||
|
||||
+1
-1
@@ -22,7 +22,7 @@ import org.jetbrains.kotlin.test.utils.withSuffixAndExtension
|
||||
import java.io.File
|
||||
|
||||
class BytecodeListingHandler(testServices: TestServices) : JvmBinaryArtifactHandler(testServices) {
|
||||
override val directivesContainers: List<DirectivesContainer>
|
||||
override val directiveContainers: List<DirectivesContainer>
|
||||
get() = listOf(CodegenTestDirectives)
|
||||
|
||||
private val multiModuleInfoDumper = MultiModuleInfoDumperImpl()
|
||||
|
||||
+1
-2
@@ -16,7 +16,6 @@ import org.jetbrains.kotlin.test.model.TestFile
|
||||
import org.jetbrains.kotlin.test.model.TestModule
|
||||
import org.jetbrains.kotlin.test.services.TestServices
|
||||
import org.jetbrains.kotlin.test.services.isKtFile
|
||||
import java.util.LinkedHashMap
|
||||
|
||||
class BytecodeTextHandler(testServices: TestServices, private val shouldEnableExplicitly: Boolean = false) :
|
||||
JvmBinaryArtifactHandler(testServices) {
|
||||
@@ -25,7 +24,7 @@ class BytecodeTextHandler(testServices: TestServices, private val shouldEnableEx
|
||||
private const val IGNORED_PREFIX = "helpers/"
|
||||
}
|
||||
|
||||
override val directivesContainers: List<DirectivesContainer>
|
||||
override val directiveContainers: List<DirectivesContainer>
|
||||
get() = listOf(CodegenTestDirectives)
|
||||
|
||||
override fun processModule(module: TestModule, info: BinaryArtifacts.Jvm) {
|
||||
|
||||
+1
-1
@@ -18,7 +18,7 @@ import org.jetbrains.kotlin.test.services.TestServices
|
||||
import org.jetbrains.kotlin.test.services.jvm.compiledClassesManager
|
||||
|
||||
class DxCheckerHandler(testServices: TestServices) : JvmBinaryArtifactHandler(testServices) {
|
||||
override val directivesContainers: List<DirectivesContainer>
|
||||
override val directiveContainers: List<DirectivesContainer>
|
||||
get() = listOf(CodegenTestDirectives)
|
||||
|
||||
override fun processModule(module: TestModule, info: BinaryArtifacts.Jvm) {
|
||||
|
||||
+1
-1
@@ -17,7 +17,7 @@ import org.jetbrains.kotlin.test.utils.withExtension
|
||||
import java.io.File
|
||||
|
||||
class FirIrDumpIdenticalChecker(testServices: TestServices) : AfterAnalysisChecker(testServices) {
|
||||
override val directives: List<DirectivesContainer>
|
||||
override val directiveContainers: List<DirectivesContainer>
|
||||
get() = listOf(FirDiagnosticsDirectives)
|
||||
|
||||
private val simpleDumpChecker = object : FirIdenticalCheckerHelper(testServices) {
|
||||
|
||||
+1
-1
@@ -30,7 +30,7 @@ class IrPrettyKotlinDumpHandler(testServices: TestServices) : AbstractIrHandler(
|
||||
|
||||
private val dumper = MultiModuleInfoDumperImpl("// MODULE: %s")
|
||||
|
||||
override val directivesContainers: List<DirectivesContainer>
|
||||
override val directiveContainers: List<DirectivesContainer>
|
||||
get() = listOf(CodegenTestDirectives, FirDiagnosticsDirectives)
|
||||
|
||||
override fun processModule(module: TestModule, info: IrBackendInput) {
|
||||
|
||||
+5
-3
@@ -12,7 +12,10 @@ import org.jetbrains.kotlin.ir.backend.js.lower.serialization.ir.JsManglerDesc
|
||||
import org.jetbrains.kotlin.ir.declarations.IrClass
|
||||
import org.jetbrains.kotlin.ir.declarations.IrFile
|
||||
import org.jetbrains.kotlin.ir.declarations.impl.IrFactoryImpl
|
||||
import org.jetbrains.kotlin.ir.util.*
|
||||
import org.jetbrains.kotlin.ir.util.DeclarationStubGenerator
|
||||
import org.jetbrains.kotlin.ir.util.SymbolTable
|
||||
import org.jetbrains.kotlin.ir.util.dump
|
||||
import org.jetbrains.kotlin.ir.util.dumpTreesFromLineNumber
|
||||
import org.jetbrains.kotlin.name.ClassId
|
||||
import org.jetbrains.kotlin.name.FqName
|
||||
import org.jetbrains.kotlin.psi2ir.generators.DeclarationStubGeneratorImpl
|
||||
@@ -33,7 +36,6 @@ import org.jetbrains.kotlin.test.utils.MultiModuleInfoDumperImpl
|
||||
import org.jetbrains.kotlin.test.utils.withExtension
|
||||
import org.jetbrains.kotlin.test.utils.withSuffixAndExtension
|
||||
import java.io.File
|
||||
import java.io.PrintStream
|
||||
|
||||
class IrTextDumpHandler(testServices: TestServices) : AbstractIrHandler(testServices) {
|
||||
companion object {
|
||||
@@ -51,7 +53,7 @@ class IrTextDumpHandler(testServices: TestServices) : AbstractIrHandler(testServ
|
||||
}
|
||||
}
|
||||
|
||||
override val directivesContainers: List<DirectivesContainer>
|
||||
override val directiveContainers: List<DirectivesContainer>
|
||||
get() = listOf(CodegenTestDirectives, FirDiagnosticsDirectives)
|
||||
|
||||
private val baseDumper = MultiModuleInfoDumperImpl()
|
||||
|
||||
+1
-1
@@ -16,7 +16,7 @@ import org.jetbrains.kotlin.test.model.TestModule
|
||||
import org.jetbrains.kotlin.test.services.TestServices
|
||||
|
||||
class IrTreeVerifierHandler(testServices: TestServices) : AbstractIrHandler(testServices) {
|
||||
override val directivesContainers: List<DirectivesContainer>
|
||||
override val directiveContainers: List<DirectivesContainer>
|
||||
get() = listOf(CodegenTestDirectives)
|
||||
|
||||
override fun processModule(module: TestModule, info: IrBackendInput) {
|
||||
|
||||
+1
-1
@@ -18,7 +18,7 @@ class NoCompilationErrorsHandler(testServices: TestServices) : ClassicFrontendAn
|
||||
testServices,
|
||||
failureDisablesNextSteps = true
|
||||
) {
|
||||
override val directivesContainers: List<DirectivesContainer>
|
||||
override val directiveContainers: List<DirectivesContainer>
|
||||
get() = listOf(CodegenTestDirectives)
|
||||
|
||||
override fun processModule(module: TestModule, info: ClassicFrontendOutputArtifact) {
|
||||
|
||||
+1
-1
@@ -18,7 +18,7 @@ import org.jetbrains.kotlin.test.model.TestModule
|
||||
import org.jetbrains.kotlin.test.services.TestServices
|
||||
|
||||
class NoFirCompilationErrorsHandler(testServices: TestServices) : FirAnalysisHandler(testServices, failureDisablesNextSteps = true) {
|
||||
override val directivesContainers: List<DirectivesContainer>
|
||||
override val directiveContainers: List<DirectivesContainer>
|
||||
get() = listOf(CodegenTestDirectives)
|
||||
|
||||
override fun processModule(module: TestModule, info: FirOutputArtifact) {
|
||||
|
||||
+1
-1
@@ -27,7 +27,7 @@ class SMAPDumpHandler(testServices: TestServices) : JvmBinaryArtifactHandler(tes
|
||||
const val SMAP_NON_SEP_EXT = "smap-nonseparate-compilation"
|
||||
}
|
||||
|
||||
override val directivesContainers: List<DirectivesContainer>
|
||||
override val directiveContainers: List<DirectivesContainer>
|
||||
get() = listOf(CodegenTestDirectives)
|
||||
|
||||
private val dumper = MultiModuleInfoDumperImpl(moduleHeaderTemplate = null)
|
||||
|
||||
+1
-2
@@ -29,10 +29,9 @@ import org.jetbrains.kotlin.test.frontend.classic.ClassicFrontendOutputArtifact
|
||||
import org.jetbrains.kotlin.test.model.TestFile
|
||||
import org.jetbrains.kotlin.test.model.TestModule
|
||||
import org.jetbrains.kotlin.test.services.*
|
||||
import java.util.*
|
||||
|
||||
class ClassicDiagnosticsHandler(testServices: TestServices) : ClassicFrontendAnalysisHandler(testServices) {
|
||||
override val directivesContainers: List<DirectivesContainer> =
|
||||
override val directiveContainers: List<DirectivesContainer> =
|
||||
listOf(DiagnosticsDirectives)
|
||||
|
||||
override val additionalServices: List<ServiceRegistrationData> =
|
||||
|
||||
+1
-1
@@ -48,7 +48,7 @@ class ConstantValuesHandler(testServices: TestServices) : ClassicFrontendAnalysi
|
||||
UsesVariableAsConstant
|
||||
}
|
||||
|
||||
override val directivesContainers: List<DirectivesContainer>
|
||||
override val directiveContainers: List<DirectivesContainer>
|
||||
get() = listOf(DiagnosticsDirectives)
|
||||
|
||||
private val metaInfoHandler = testServices.globalMetadataInfoHandler
|
||||
|
||||
+1
-1
@@ -42,7 +42,7 @@ class DeclarationsDumpHandler(
|
||||
private val JAVA_PACKAGE_PATTERN = Pattern.compile("^\\s*package [.\\w\\d]*", Pattern.MULTILINE)
|
||||
}
|
||||
|
||||
override val directivesContainers: List<DirectivesContainer>
|
||||
override val directiveContainers: List<DirectivesContainer>
|
||||
get() = listOf(DiagnosticsDirectives)
|
||||
|
||||
private val dumper: MultiModuleInfoDumper = MultiModuleInfoDumperImpl(moduleHeaderTemplate = "// -- Module: <%s> --")
|
||||
|
||||
+1
-1
@@ -12,7 +12,7 @@ import org.jetbrains.kotlin.test.services.TestServices
|
||||
import org.jetbrains.kotlin.test.services.moduleStructure
|
||||
|
||||
class DiagnosticTestWithJavacSkipConfigurator(testServices: TestServices) : MetaTestConfigurator(testServices) {
|
||||
override val directives: List<DirectivesContainer>
|
||||
override val directiveContainers: List<DirectivesContainer>
|
||||
get() = listOf(DiagnosticsDirectives)
|
||||
|
||||
override fun shouldSkipTest(): Boolean {
|
||||
|
||||
+1
-1
@@ -26,7 +26,7 @@ class DynamicCallsDumpHandler(testServices: TestServices) : ClassicFrontendAnaly
|
||||
private const val DYNAMIC_PREFIX = ".dynamic.txt"
|
||||
}
|
||||
|
||||
override val directivesContainers: List<DirectivesContainer>
|
||||
override val directiveContainers: List<DirectivesContainer>
|
||||
get() = listOf(DiagnosticsDirectives)
|
||||
|
||||
private val dumper: MultiModuleInfoDumper = MultiModuleInfoDumperImpl(moduleHeaderTemplate = "// -- Module: <%s> --")
|
||||
|
||||
+1
-1
@@ -19,7 +19,7 @@ import org.jetbrains.kotlin.test.utils.firTestDataFile
|
||||
import java.io.File
|
||||
|
||||
class FirTestDataConsistencyHandler(testServices: TestServices) : AfterAnalysisChecker(testServices) {
|
||||
override val directives: List<DirectivesContainer>
|
||||
override val directiveContainers: List<DirectivesContainer>
|
||||
get() = listOf(FirDiagnosticsDirectives)
|
||||
|
||||
override fun check(failedAssertions: List<WrappedException>) {
|
||||
|
||||
+1
-1
@@ -39,7 +39,7 @@ class FirFrontendFacade(
|
||||
override val additionalServices: List<ServiceRegistrationData>
|
||||
get() = listOf(service(::FirModuleInfoProvider))
|
||||
|
||||
override val additionalDirectives: List<DirectivesContainer>
|
||||
override val directiveContainers: List<DirectivesContainer>
|
||||
get() = listOf(FirDiagnosticsDirectives)
|
||||
|
||||
override fun analyze(module: TestModule): FirOutputArtifact {
|
||||
|
||||
+1
-1
@@ -15,7 +15,7 @@ import org.jetbrains.kotlin.test.services.TestServices
|
||||
import org.jetbrains.kotlin.test.services.moduleStructure
|
||||
|
||||
class FirMetaInfoDiffSuppressor(testServices: TestServices) : AfterAnalysisChecker(testServices) {
|
||||
override val directives: List<DirectivesContainer>
|
||||
override val directiveContainers: List<DirectivesContainer>
|
||||
get() = listOf(CodegenTestDirectives)
|
||||
|
||||
override fun suppressIfNeeded(failedAssertions: List<WrappedException>): List<WrappedException> {
|
||||
|
||||
+1
-1
@@ -16,7 +16,7 @@ import org.jetbrains.kotlin.test.services.moduleStructure
|
||||
|
||||
// TODO: adapt to multifile and multimodule tests
|
||||
class FirCfgDumpHandler(testServices: TestServices) : FirAnalysisHandler(testServices) {
|
||||
override val directivesContainers: List<DirectivesContainer>
|
||||
override val directiveContainers: List<DirectivesContainer>
|
||||
get() = listOf(FirDiagnosticsDirectives)
|
||||
|
||||
private val builder = StringBuilder()
|
||||
|
||||
+1
-1
@@ -61,7 +61,7 @@ class FirDiagnosticsHandler(testServices: TestServices) : FirAnalysisHandler(tes
|
||||
private val diagnosticsService: DiagnosticsService
|
||||
get() = testServices.diagnosticsService
|
||||
|
||||
override val directivesContainers: List<DirectivesContainer> =
|
||||
override val directiveContainers: List<DirectivesContainer> =
|
||||
listOf(DiagnosticsDirectives)
|
||||
|
||||
override val additionalServices: List<ServiceRegistrationData> =
|
||||
|
||||
+1
-1
@@ -20,7 +20,7 @@ class FirDumpHandler(
|
||||
) : FirAnalysisHandler(testServices) {
|
||||
private val dumper: MultiModuleInfoDumper = MultiModuleInfoDumperImpl()
|
||||
|
||||
override val directivesContainers: List<DirectivesContainer>
|
||||
override val directiveContainers: List<DirectivesContainer>
|
||||
get() = listOf(FirDiagnosticsDirectives)
|
||||
|
||||
override fun processModule(module: TestModule, info: FirOutputArtifact) {
|
||||
|
||||
+1
-1
@@ -36,7 +36,7 @@ import org.jetbrains.kotlin.util.withIndent
|
||||
class FirScopeDumpHandler(testServices: TestServices) : FirAnalysisHandler(testServices) {
|
||||
private val dumper = MultiModuleInfoDumperImpl()
|
||||
|
||||
override val directivesContainers: List<DirectivesContainer>
|
||||
override val directiveContainers: List<DirectivesContainer>
|
||||
get() = listOf(FirDiagnosticsDirectives)
|
||||
|
||||
override fun processModule(module: TestModule, info: FirOutputArtifact) {
|
||||
|
||||
+6
-6
@@ -68,7 +68,7 @@ class TestConfigurationImpl(
|
||||
|
||||
private val environmentConfigurators: List<EnvironmentConfigurator> =
|
||||
environmentConfigurators.map { it.invoke(testServices) }.also { configurators ->
|
||||
configurators.flatMapTo(allDirectives) { it.directivesContainers }
|
||||
configurators.flatMapTo(allDirectives) { it.directiveContainers }
|
||||
for (configurator in configurators) {
|
||||
configurator.additionalServices.forEach { testServices.register(it) }
|
||||
}
|
||||
@@ -80,7 +80,7 @@ class TestConfigurationImpl(
|
||||
override val moduleStructureExtractor: ModuleStructureExtractor = ModuleStructureExtractorImpl(
|
||||
testServices,
|
||||
additionalSourceProviders.map { it.invoke(testServices) }.also {
|
||||
it.flatMapTo(allDirectives) { provider -> provider.directives }
|
||||
it.flatMapTo(allDirectives) { provider -> provider.directiveContainers }
|
||||
},
|
||||
moduleStructureTransformers,
|
||||
this.environmentConfigurators
|
||||
@@ -88,13 +88,13 @@ class TestConfigurationImpl(
|
||||
|
||||
override val metaTestConfigurators: List<MetaTestConfigurator> = metaTestConfigurators.map {
|
||||
it.invoke(testServices).also { configurator ->
|
||||
allDirectives += configurator.directives
|
||||
allDirectives += configurator.directiveContainers
|
||||
}
|
||||
}
|
||||
|
||||
override val afterAnalysisCheckers: List<AfterAnalysisChecker> = afterAnalysisCheckers.map {
|
||||
it.invoke(testServices).also { checker ->
|
||||
allDirectives += checker.directives
|
||||
allDirectives += checker.directiveContainers
|
||||
}
|
||||
}
|
||||
|
||||
@@ -141,7 +141,7 @@ class TestConfigurationImpl(
|
||||
}
|
||||
|
||||
private fun registerDirectivesAndServices(handler: AnalysisHandler<*>) {
|
||||
allDirectives += handler.directivesContainers
|
||||
allDirectives += handler.directiveContainers
|
||||
testServices.register(handler.additionalServices)
|
||||
}
|
||||
|
||||
@@ -150,7 +150,7 @@ class TestConfigurationImpl(
|
||||
this@TestConfigurationImpl.facades.values.forEach {
|
||||
it.values.forEach { facade ->
|
||||
register(facade.additionalServices)
|
||||
allDirectives += facade.additionalDirectives
|
||||
allDirectives += facade.directiveContainers
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -15,7 +15,7 @@ import org.jetbrains.kotlin.test.services.EnvironmentConfigurator
|
||||
import org.jetbrains.kotlin.test.services.TestServices
|
||||
|
||||
class CommonEnvironmentConfigurator(testServices: TestServices) : EnvironmentConfigurator(testServices) {
|
||||
override val directivesContainers: List<DirectivesContainer>
|
||||
override val directiveContainers: List<DirectivesContainer>
|
||||
get() = listOf(ConfigurationDirectives)
|
||||
|
||||
override fun configureCompilerConfiguration(configuration: CompilerConfiguration, module: TestModule) {
|
||||
|
||||
+1
-1
@@ -17,7 +17,7 @@ import org.jetbrains.kotlin.test.services.TestServices
|
||||
import org.jetbrains.kotlin.test.util.joinToArrayString
|
||||
|
||||
class JsEnvironmentConfigurator(testServices: TestServices) : EnvironmentConfigurator(testServices) {
|
||||
override val directivesContainers: List<DirectivesContainer>
|
||||
override val directiveContainers: List<DirectivesContainer>
|
||||
get() = listOf(JsEnvironmentConfigurationDirectives)
|
||||
|
||||
override fun configureCompilerConfiguration(configuration: CompilerConfiguration, module: TestModule) {
|
||||
|
||||
+1
-1
@@ -124,7 +124,7 @@ class JvmEnvironmentConfigurator(testServices: TestServices) : EnvironmentConfig
|
||||
}
|
||||
}
|
||||
|
||||
override val directivesContainers: List<DirectivesContainer>
|
||||
override val directiveContainers: List<DirectivesContainer>
|
||||
get() = listOf(JvmEnvironmentConfigurationDirectives)
|
||||
|
||||
override val additionalServices: List<ServiceRegistrationData>
|
||||
|
||||
+5
-3
@@ -11,6 +11,7 @@ import org.jetbrains.kotlin.cli.jvm.config.jvmClasspathRoots
|
||||
import org.jetbrains.kotlin.codegen.forTestCompile.ForTestCompileRuntime
|
||||
import org.jetbrains.kotlin.config.*
|
||||
import org.jetbrains.kotlin.load.java.*
|
||||
import org.jetbrains.kotlin.name.FqName
|
||||
import org.jetbrains.kotlin.test.MockLibraryUtil
|
||||
import org.jetbrains.kotlin.test.TestJavacVersion
|
||||
import org.jetbrains.kotlin.test.directives.ForeignAnnotationsDirectives
|
||||
@@ -23,9 +24,10 @@ import org.jetbrains.kotlin.test.directives.model.DirectivesContainer
|
||||
import org.jetbrains.kotlin.test.directives.model.RegisteredDirectives
|
||||
import org.jetbrains.kotlin.test.directives.model.singleOrZeroValue
|
||||
import org.jetbrains.kotlin.test.model.TestModule
|
||||
import org.jetbrains.kotlin.test.services.*
|
||||
import org.jetbrains.kotlin.test.services.EnvironmentConfigurator
|
||||
import org.jetbrains.kotlin.test.services.JUnit5Assertions
|
||||
import org.jetbrains.kotlin.test.services.TestServices
|
||||
import org.jetbrains.kotlin.test.util.KtTestUtil
|
||||
import org.jetbrains.kotlin.name.FqName
|
||||
import java.io.File
|
||||
import kotlin.io.path.createTempDirectory
|
||||
|
||||
@@ -40,7 +42,7 @@ open class JvmForeignAnnotationsConfigurator(testServices: TestServices) : Envir
|
||||
const val JSR_305_TEST_ANNOTATIONS_PATH = "compiler/testData/diagnostics/helpers/jsr305_test_annotations"
|
||||
}
|
||||
|
||||
override val directivesContainers: List<DirectivesContainer>
|
||||
override val directiveContainers: List<DirectivesContainer>
|
||||
get() = listOf(ForeignAnnotationsDirectives)
|
||||
|
||||
@OptIn(ExperimentalStdlibApi::class)
|
||||
|
||||
+1
-1
@@ -24,7 +24,7 @@ class AdditionalDiagnosticsSourceFilesProvider(testServices: TestServices, baseD
|
||||
INFERENCE_HELPERS to "$helpersPath/inference/inferenceUtils.kt"
|
||||
)
|
||||
|
||||
override val directives: List<DirectivesContainer> =
|
||||
override val directiveContainers: List<DirectivesContainer> =
|
||||
listOf(AdditionalFilesDirectives)
|
||||
|
||||
@OptIn(ExperimentalStdlibApi::class)
|
||||
|
||||
+1
-1
@@ -21,7 +21,7 @@ class CodegenHelpersSourceFilesProvider(testServices: TestServices) : Additional
|
||||
private const val IR_BACKEND_PATH = "$HELPERS_PATH/CodegenTestHelpersIR.kt"
|
||||
}
|
||||
|
||||
override val directives: List<DirectivesContainer> =
|
||||
override val directiveContainers: List<DirectivesContainer> =
|
||||
listOf(CodegenTestDirectives)
|
||||
|
||||
@OptIn(ExperimentalStdlibApi::class)
|
||||
|
||||
+1
-1
@@ -24,7 +24,7 @@ class CoroutineHelpersSourceFilesProvider(testServices: TestServices, testDataPa
|
||||
private val stateMachineCheckerPath = "$helpersPath/StateMachineChecker.kt"
|
||||
private val tailCallOptimizationCheckerPath = "$helpersPath/TailCallOptimizationChecker.kt"
|
||||
|
||||
override val directives: List<DirectivesContainer> =
|
||||
override val directiveContainers: List<DirectivesContainer> =
|
||||
listOf(AdditionalFilesDirectives)
|
||||
|
||||
@OptIn(ExperimentalStdlibApi::class)
|
||||
|
||||
+2
-2
@@ -38,7 +38,7 @@ class IrInterpreterHelpersSourceFilesProvider(testServices: TestServices) : Addi
|
||||
)
|
||||
}
|
||||
|
||||
override val directives: List<DirectivesContainer> =
|
||||
override val directiveContainers: List<DirectivesContainer> =
|
||||
listOf(AdditionalFilesDirectives)
|
||||
|
||||
private fun getTestFilesForEachDirectory(vararg directories: String): List<TestFile> {
|
||||
@@ -55,4 +55,4 @@ class IrInterpreterHelpersSourceFilesProvider(testServices: TestServices) : Addi
|
||||
override fun produceAdditionalFiles(globalDirectives: RegisteredDirectives, module: TestModule): List<TestFile> {
|
||||
return getTestFilesForEachDirectory(HELPERS_PATH, UNSIGNED_PATH, *RUNTIME_PATHS, *ANNOTATIONS_PATHS, REFLECT_PATH)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -18,7 +18,7 @@ import java.io.File
|
||||
class SpecHelpersSourceFilesProvider(testServices: TestServices, baseDir: String) : AdditionalSourceProvider(testServices) {
|
||||
private val helpersDirPath = "$baseDir/compiler/tests-spec/testData/diagnostics/helpers"
|
||||
|
||||
override val directives: List<DirectivesContainer> =
|
||||
override val directiveContainers: List<DirectivesContainer> =
|
||||
listOf(AdditionalFilesDirectives)
|
||||
|
||||
override fun produceAdditionalFiles(globalDirectives: RegisteredDirectives, module: TestModule): List<TestFile> {
|
||||
|
||||
+2
-2
@@ -96,7 +96,7 @@ abstract class AbstractCompilerBasedTest : AbstractKotlinCompilerTest() {
|
||||
testServices: TestServices
|
||||
) : FrontendFacade<FirOutputArtifact>(testServices, FrontendKinds.FIR) {
|
||||
|
||||
override val additionalDirectives: List<DirectivesContainer>
|
||||
override val directiveContainers: List<DirectivesContainer>
|
||||
get() = listOf(FirDiagnosticsDirectives)
|
||||
|
||||
override fun analyze(module: TestModule): FirOutputArtifact {
|
||||
@@ -330,4 +330,4 @@ private fun reRegisterJavaElementFinder(project: Project) {
|
||||
)
|
||||
}
|
||||
PsiElementFinder.EP.getPoint(project).registerExtension(JavaElementFinder(project))
|
||||
}
|
||||
}
|
||||
|
||||
+3
-4
@@ -7,10 +7,9 @@ package org.jetbrains.kotlin.idea.fir.low.level.api.compiler.based
|
||||
|
||||
import org.jetbrains.kotlin.test.WrappedException
|
||||
import org.jetbrains.kotlin.test.builders.TestConfigurationBuilder
|
||||
import org.jetbrains.kotlin.test.model.AfterAnalysisChecker
|
||||
import org.jetbrains.kotlin.test.directives.FirDiagnosticsDirectives
|
||||
import org.jetbrains.kotlin.test.services.TestServices
|
||||
import org.jetbrains.kotlin.test.directives.model.DirectivesContainer
|
||||
import org.jetbrains.kotlin.test.model.AfterAnalysisChecker
|
||||
import org.jetbrains.kotlin.test.services.TestServices
|
||||
import org.jetbrains.kotlin.test.services.moduleStructure
|
||||
import org.jetbrains.kotlin.test.utils.removeDirectiveFromFile
|
||||
|
||||
@@ -19,7 +18,7 @@ class IdeTestIgnoreHandler(testServices: TestServices) : AfterAnalysisChecker(te
|
||||
private val isTeamCityBuild: Boolean = System.getenv("TEAMCITY_VERSION") != null
|
||||
}
|
||||
|
||||
override val directives: List<DirectivesContainer>
|
||||
override val directiveContainers: List<DirectivesContainer>
|
||||
get() = listOf(FirIdeDirectives)
|
||||
|
||||
override fun check(failedAssertions: List<WrappedException>) {
|
||||
|
||||
Reference in New Issue
Block a user