[Test] Add ability to override some services in AbstractKotlinCompilerTest
This commit is contained in:
committed by
teamcity
parent
543675d99d
commit
38696a41bc
+4
-2
@@ -14,6 +14,7 @@ import org.jetbrains.kotlin.analysis.low.level.api.fir.api.getOrBuildFirFile
|
||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.createResolveStateForNoCaching
|
||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.transformers.LLFirLazyTransformer
|
||||
import org.jetbrains.kotlin.platform.jvm.JvmPlatforms
|
||||
import org.jetbrains.kotlin.test.ExecutionListenerBasedDisposableProvider
|
||||
import org.jetbrains.kotlin.test.bind
|
||||
import org.jetbrains.kotlin.test.builders.TestConfigurationBuilder
|
||||
import org.jetbrains.kotlin.test.builders.firHandlersStep
|
||||
@@ -25,8 +26,7 @@ import org.jetbrains.kotlin.test.model.DependencyKind
|
||||
import org.jetbrains.kotlin.test.model.FrontendFacade
|
||||
import org.jetbrains.kotlin.test.model.FrontendKinds
|
||||
import org.jetbrains.kotlin.test.model.TestModule
|
||||
import org.jetbrains.kotlin.test.services.TestServices
|
||||
import org.jetbrains.kotlin.test.services.compilerConfigurationProvider
|
||||
import org.jetbrains.kotlin.test.services.*
|
||||
|
||||
abstract class AbstractCompilerBasedTestForFir : AbstractCompilerBasedTest() {
|
||||
final override fun TestConfigurationBuilder.configuration() {
|
||||
@@ -39,6 +39,8 @@ abstract class AbstractCompilerBasedTestForFir : AbstractCompilerBasedTest() {
|
||||
configureTest()
|
||||
defaultConfiguration(this)
|
||||
|
||||
useAdditionalService<ApplicationDisposableProvider> { ExecutionListenerBasedDisposableProvider() }
|
||||
useAdditionalService<KotlinStandardLibrariesPathProvider> { StandardLibrariesPathProviderForKotlinProject }
|
||||
useAdditionalService(::TestKtModuleProvider)
|
||||
usePreAnalysisHandlers(::ModuleRegistrarPreAnalysisHandler.bind(disposable, true))
|
||||
|
||||
|
||||
+10
-2
@@ -42,8 +42,6 @@ abstract class AbstractKotlinCompilerTest {
|
||||
val defaultConfiguration: TestConfigurationBuilder.() -> Unit = {
|
||||
assertions = JUnit5Assertions
|
||||
useAdditionalService<TemporaryDirectoryManager>(::TemporaryDirectoryManagerImpl)
|
||||
useAdditionalService<ApplicationDisposableProvider> { ExecutionListenerBasedDisposableProvider() }
|
||||
useAdditionalService<KotlinStandardLibrariesPathProvider> { StandardLibrariesPathProviderForKotlinProject }
|
||||
useSourcePreprocessor(*defaultPreprocessors.toTypedArray())
|
||||
useDirectives(*defaultDirectiveContainers.toTypedArray())
|
||||
configureDebugFlags()
|
||||
@@ -53,12 +51,22 @@ abstract class AbstractKotlinCompilerTest {
|
||||
|
||||
protected val configuration: TestConfigurationBuilder.() -> Unit = {
|
||||
defaultConfiguration()
|
||||
useAdditionalService { createApplicationDisposableProvider() }
|
||||
useAdditionalService { createKotlinStandardLibrariesPathProvider() }
|
||||
configure(this)
|
||||
}
|
||||
|
||||
abstract fun TestConfigurationBuilder.configuration()
|
||||
private lateinit var testInfo: KotlinTestInfo
|
||||
|
||||
open fun createApplicationDisposableProvider(): ApplicationDisposableProvider {
|
||||
return ExecutionListenerBasedDisposableProvider()
|
||||
}
|
||||
|
||||
open fun createKotlinStandardLibrariesPathProvider(): KotlinStandardLibrariesPathProvider {
|
||||
return StandardLibrariesPathProviderForKotlinProject
|
||||
}
|
||||
|
||||
@BeforeEach
|
||||
fun initTestInfo(testInfo: TestInfo) {
|
||||
initTestInfo(
|
||||
|
||||
Reference in New Issue
Block a user