Rename createTempDirectory to getOrCreateTempDirectory

With cache this function can be used to get already created directory
by name.
This commit is contained in:
Ivan Kylchik
2021-06-29 17:34:36 +03:00
committed by TeamCityServer
parent 88aa71b0aa
commit c176d4d7b0
6 changed files with 13 additions and 15 deletions
@@ -28,9 +28,9 @@ abstract class SourceFileProvider : TestService {
val TestServices.sourceFileProvider: SourceFileProvider by TestServices.testServiceAccessor()
class SourceFileProviderImpl(val testServices: TestServices, val preprocessors: List<SourceFilePreprocessor>) : SourceFileProvider() {
override val kotlinSourceDirectory: File = testServices.createTempDirectory("kotlin-files")
override val javaSourceDirectory: File = testServices.createTempDirectory("java-files")
override val javaBinaryDirectory: File = testServices.createTempDirectory("java-binary-files")
override val kotlinSourceDirectory: File = testServices.getOrCreateTempDirectory("kotlin-files")
override val javaSourceDirectory: File = testServices.getOrCreateTempDirectory("java-files")
override val javaBinaryDirectory: File = testServices.getOrCreateTempDirectory("java-binary-files")
private val contentOfFiles = mutableMapOf<TestFile, String>()
private val realFileMap = mutableMapOf<TestFile, File>()
@@ -8,12 +8,12 @@ package org.jetbrains.kotlin.test.services
import java.io.File
abstract class TemporaryDirectoryManager(protected val testServices: TestServices) : TestService {
abstract fun createTempDirectory(name: String): File
abstract fun getOrCreateTempDirectory(name: String): File
abstract fun cleanupTemporaryDirectories()
}
val TestServices.temporaryDirectoryManager: TemporaryDirectoryManager by TestServices.testServiceAccessor()
fun TestServices.createTempDirectory(name: String): File {
return temporaryDirectoryManager.createTempDirectory(name)
fun TestServices.getOrCreateTempDirectory(name: String): File {
return temporaryDirectoryManager.getOrCreateTempDirectory(name)
}
@@ -9,12 +9,12 @@ import org.jetbrains.kotlin.test.directives.CodegenTestDirectives
import org.jetbrains.kotlin.test.model.BinaryArtifacts
import org.jetbrains.kotlin.test.model.TestModule
import org.jetbrains.kotlin.test.services.TestServices
import org.jetbrains.kotlin.test.services.createTempDirectory
import org.jetbrains.kotlin.test.services.getOrCreateTempDirectory
class PhasedIrDumpHandler(testServices: TestServices) : JvmBinaryArtifactHandler(testServices) {
override fun processModule(module: TestModule, info: BinaryArtifacts.Jvm) {
if (CodegenTestDirectives.DUMP_IR_FOR_GIVEN_PHASES !in module.directives) return
val dumpDirectory = testServices.createTempDirectory(DUMPED_IR_FOLDER_NAME)
val dumpDirectory = testServices.getOrCreateTempDirectory(DUMPED_IR_FOLDER_NAME)
val dumpFiles = dumpDirectory.resolve(module.name).listFiles() ?: return
val testFile = module.files.first()
val testDirectory = testFile.originalFile.parentFile
@@ -39,4 +39,4 @@ class PhasedIrDumpHandler(testServices: TestServices) : JvmBinaryArtifactHandler
companion object {
const val DUMPED_IR_FOLDER_NAME = "dumped_ir"
}
}
}
@@ -7,7 +7,6 @@ package org.jetbrains.kotlin.test.services.configuration
import com.intellij.openapi.util.SystemInfo
import com.intellij.psi.PsiJavaModule.MODULE_INFO_FILE
import org.jetbrains.kotlin.backend.common.phaser.AnyNamedPhase
import org.jetbrains.kotlin.backend.common.phaser.PhaseConfig
import org.jetbrains.kotlin.backend.jvm.jvmPhases
import org.jetbrains.kotlin.cli.common.CLIConfigurationKeys
@@ -49,7 +48,6 @@ import org.jetbrains.kotlin.test.directives.LanguageSettingsDirectives.NO_UNIFIE
import org.jetbrains.kotlin.test.directives.LanguageSettingsDirectives.PARAMETERS_METADATA
import org.jetbrains.kotlin.test.directives.model.DirectivesContainer
import org.jetbrains.kotlin.test.directives.model.RegisteredDirectives
import org.jetbrains.kotlin.test.directives.model.ValueDirective
import org.jetbrains.kotlin.test.model.DependencyDescription
import org.jetbrains.kotlin.test.model.DependencyKind
import org.jetbrains.kotlin.test.model.TestFile
@@ -359,7 +357,7 @@ class JvmEnvironmentConfigurator(testServices: TestServices) : EnvironmentConfig
}
private fun CompilerConfiguration.putCustomPhaseConfigWithEnabledDump(module: TestModule) {
val dumpDirectory = testServices.createTempDirectory(PhasedIrDumpHandler.DUMPED_IR_FOLDER_NAME)
val dumpDirectory = testServices.getOrCreateTempDirectory(PhasedIrDumpHandler.DUMPED_IR_FOLDER_NAME)
val phases = module.directives[CodegenTestDirectives.DUMP_IR_FOR_GIVEN_PHASES].toSet()
if (phases.isNotEmpty()) {
val phaseConfig = PhaseConfig(
@@ -19,7 +19,7 @@ class TemporaryDirectoryManagerImpl(testServices: TestServices) : TemporaryDirec
KtTestUtil.tmpDirForTest(testInfo.className, testInfo.methodName)
}
override fun createTempDirectory(name: String): File {
override fun getOrCreateTempDirectory(name: String): File {
return cache.getOrPut(name) { KtTestUtil.tmpDir(rootTempDir, name) }
}
@@ -20,7 +20,7 @@ class CompiledClassesManager(val testServices: TestServices) : TestService {
fun getCompiledKotlinDirForModule(module: TestModule, classFileFactory: ClassFileFactory? = null): File {
return compiledKotlinCache.getOrPut(module) {
val outputDir = testServices.createTempDirectory("module_${module.name}_kotlin-classes")
val outputDir = testServices.getOrCreateTempDirectory("module_${module.name}_kotlin-classes")
@Suppress("NAME_SHADOWING")
val classFileFactory = classFileFactory
@@ -39,7 +39,7 @@ class CompiledClassesManager(val testServices: TestServices) : TestService {
fun getOrCreateCompiledJavaDirForModule(module: TestModule): File {
return compiledJavaCache.getOrPut(module) {
testServices.createTempDirectory("module_${module.name}_java-classes")
testServices.getOrCreateTempDirectory("module_${module.name}_java-classes")
}
}
}