Add possibility to use baseDir in SpecHelpersSourceFilesProvider
In IJ infrastructure we have specific path prefix for compiler testData
This commit is contained in:
committed by
TeamCityServer
parent
2c8d583d8b
commit
d781902626
+3
-2
@@ -5,6 +5,7 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.test.runners
|
package org.jetbrains.kotlin.test.runners
|
||||||
|
|
||||||
|
import org.jetbrains.kotlin.test.bind
|
||||||
import org.jetbrains.kotlin.test.builders.TestConfigurationBuilder
|
import org.jetbrains.kotlin.test.builders.TestConfigurationBuilder
|
||||||
import org.jetbrains.kotlin.test.directives.AdditionalFilesDirectives.SPEC_HELPERS
|
import org.jetbrains.kotlin.test.directives.AdditionalFilesDirectives.SPEC_HELPERS
|
||||||
import org.jetbrains.kotlin.test.directives.JvmEnvironmentConfigurationDirectives.WITH_STDLIB
|
import org.jetbrains.kotlin.test.directives.JvmEnvironmentConfigurationDirectives.WITH_STDLIB
|
||||||
@@ -22,13 +23,13 @@ abstract class AbstractFirDiagnosticTestSpec : AbstractFirDiagnosticTest() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun TestConfigurationBuilder.baseFirSpecDiagnosticTestConfiguration() {
|
fun TestConfigurationBuilder.baseFirSpecDiagnosticTestConfiguration(baseDir: String = ".") {
|
||||||
defaultDirectives {
|
defaultDirectives {
|
||||||
+SPEC_HELPERS
|
+SPEC_HELPERS
|
||||||
+WITH_STDLIB
|
+WITH_STDLIB
|
||||||
}
|
}
|
||||||
|
|
||||||
useAdditionalSourceProviders(::SpecHelpersSourceFilesProvider)
|
useAdditionalSourceProviders(::SpecHelpersSourceFilesProvider.bind(baseDir))
|
||||||
|
|
||||||
useAfterAnalysisCheckers(
|
useAfterAnalysisCheckers(
|
||||||
::FirIdenticalChecker,
|
::FirIdenticalChecker,
|
||||||
|
|||||||
+3
-5
@@ -15,17 +15,15 @@ import org.jetbrains.kotlin.test.services.AdditionalSourceProvider
|
|||||||
import org.jetbrains.kotlin.test.services.TestServices
|
import org.jetbrains.kotlin.test.services.TestServices
|
||||||
import java.io.File
|
import java.io.File
|
||||||
|
|
||||||
class SpecHelpersSourceFilesProvider(testServices: TestServices) : AdditionalSourceProvider(testServices) {
|
class SpecHelpersSourceFilesProvider(testServices: TestServices, baseDir: String) : AdditionalSourceProvider(testServices) {
|
||||||
companion object {
|
private val helpersDirPath = "$baseDir/compiler/tests-spec/testData/diagnostics/helpers"
|
||||||
const val HELPERS_DIR_PATH = "compiler/tests-spec/testData/diagnostics/helpers"
|
|
||||||
}
|
|
||||||
|
|
||||||
override val directives: List<DirectivesContainer> =
|
override val directives: List<DirectivesContainer> =
|
||||||
listOf(AdditionalFilesDirectives)
|
listOf(AdditionalFilesDirectives)
|
||||||
|
|
||||||
override fun produceAdditionalFiles(globalDirectives: RegisteredDirectives, module: TestModule): List<TestFile> {
|
override fun produceAdditionalFiles(globalDirectives: RegisteredDirectives, module: TestModule): List<TestFile> {
|
||||||
if (SPEC_HELPERS !in module.directives) return emptyList()
|
if (SPEC_HELPERS !in module.directives) return emptyList()
|
||||||
return File(HELPERS_DIR_PATH).walkTopDown().mapNotNull {
|
return File(helpersDirPath).walkTopDown().mapNotNull {
|
||||||
if (it.isDirectory) return@mapNotNull null
|
if (it.isDirectory) return@mapNotNull null
|
||||||
it.toTestFile()
|
it.toTestFile()
|
||||||
}.toList()
|
}.toList()
|
||||||
|
|||||||
Reference in New Issue
Block a user