diff --git a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/runners/AbstractFirDiagnosticTestSpec.kt b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/runners/AbstractFirDiagnosticTestSpec.kt index 3e41deb5de8..f0b8076c8f0 100644 --- a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/runners/AbstractFirDiagnosticTestSpec.kt +++ b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/runners/AbstractFirDiagnosticTestSpec.kt @@ -5,6 +5,7 @@ package org.jetbrains.kotlin.test.runners +import org.jetbrains.kotlin.test.bind import org.jetbrains.kotlin.test.builders.TestConfigurationBuilder import org.jetbrains.kotlin.test.directives.AdditionalFilesDirectives.SPEC_HELPERS 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 { +SPEC_HELPERS +WITH_STDLIB } - useAdditionalSourceProviders(::SpecHelpersSourceFilesProvider) + useAdditionalSourceProviders(::SpecHelpersSourceFilesProvider.bind(baseDir)) useAfterAnalysisCheckers( ::FirIdenticalChecker, diff --git a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/services/sourceProviders/SpecHelpersSourceFilesProvider.kt b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/services/sourceProviders/SpecHelpersSourceFilesProvider.kt index 66cc802706a..cd528fd8de8 100644 --- a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/services/sourceProviders/SpecHelpersSourceFilesProvider.kt +++ b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/services/sourceProviders/SpecHelpersSourceFilesProvider.kt @@ -15,17 +15,15 @@ import org.jetbrains.kotlin.test.services.AdditionalSourceProvider import org.jetbrains.kotlin.test.services.TestServices import java.io.File -class SpecHelpersSourceFilesProvider(testServices: TestServices) : AdditionalSourceProvider(testServices) { - companion object { - const val HELPERS_DIR_PATH = "compiler/tests-spec/testData/diagnostics/helpers" - } +class SpecHelpersSourceFilesProvider(testServices: TestServices, baseDir: String) : AdditionalSourceProvider(testServices) { + private val helpersDirPath = "$baseDir/compiler/tests-spec/testData/diagnostics/helpers" override val directives: List = listOf(AdditionalFilesDirectives) override fun produceAdditionalFiles(globalDirectives: RegisteredDirectives, module: TestModule): List { 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 it.toTestFile() }.toList()