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