[Test] Add ability to override some services in AbstractKotlinCompilerTest

This commit is contained in:
Dmitriy Novozhilov
2022-04-07 18:40:42 +04:00
committed by teamcity
parent 543675d99d
commit 38696a41bc
2 changed files with 14 additions and 4 deletions
@@ -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(