[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
|
||||
|
||||
Reference in New Issue
Block a user