[Tests] Fix Android test runner
This commit is contained in:
+9
@@ -27,7 +27,9 @@ import org.jetbrains.kotlin.test.builders.TestConfigurationBuilder
|
|||||||
import org.jetbrains.kotlin.test.model.DependencyKind
|
import org.jetbrains.kotlin.test.model.DependencyKind
|
||||||
import org.jetbrains.kotlin.test.model.FrontendKinds
|
import org.jetbrains.kotlin.test.model.FrontendKinds
|
||||||
import org.jetbrains.kotlin.test.model.ResultingArtifact
|
import org.jetbrains.kotlin.test.model.ResultingArtifact
|
||||||
|
import org.jetbrains.kotlin.test.model.TestFile
|
||||||
import org.jetbrains.kotlin.test.runners.AbstractKotlinCompilerTest
|
import org.jetbrains.kotlin.test.runners.AbstractKotlinCompilerTest
|
||||||
|
import org.jetbrains.kotlin.test.runners.TransformersFunctions.Android
|
||||||
import org.jetbrains.kotlin.test.services.*
|
import org.jetbrains.kotlin.test.services.*
|
||||||
import org.jetbrains.kotlin.test.services.configuration.CommonEnvironmentConfigurator
|
import org.jetbrains.kotlin.test.services.configuration.CommonEnvironmentConfigurator
|
||||||
import org.jetbrains.kotlin.test.services.configuration.JvmEnvironmentConfigurator
|
import org.jetbrains.kotlin.test.services.configuration.JvmEnvironmentConfigurator
|
||||||
@@ -412,6 +414,13 @@ class CodegenTestsOnAndroidGenerator private constructor(private val pathManager
|
|||||||
useAdditionalService<TemporaryDirectoryManager>(::TemporaryDirectoryManagerImpl)
|
useAdditionalService<TemporaryDirectoryManager>(::TemporaryDirectoryManagerImpl)
|
||||||
useSourcePreprocessor(*AbstractKotlinCompilerTest.defaultPreprocessors.toTypedArray())
|
useSourcePreprocessor(*AbstractKotlinCompilerTest.defaultPreprocessors.toTypedArray())
|
||||||
useDirectives(*AbstractKotlinCompilerTest.defaultDirectiveContainers.toTypedArray())
|
useDirectives(*AbstractKotlinCompilerTest.defaultDirectiveContainers.toTypedArray())
|
||||||
|
class AndroidTransformingPreprocessor(testServices: TestServices) : SourceFilePreprocessor(testServices) {
|
||||||
|
override fun process(file: TestFile, content: String): String {
|
||||||
|
val transformers = Android.forAll + (Android.forSpecificFile[file.originalFile]?.let { listOf(it) } ?: emptyList())
|
||||||
|
return transformers.fold(content) { text, transformer -> transformer(text) }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
useSourcePreprocessor({ AndroidTransformingPreprocessor(it) })
|
||||||
}
|
}
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
|
|||||||
+10
@@ -5,6 +5,8 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.test.runners
|
package org.jetbrains.kotlin.test.runners
|
||||||
|
|
||||||
|
import java.io.File
|
||||||
|
|
||||||
object TransformersFunctions {
|
object TransformersFunctions {
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
fun replaceOptionalJvmInlineAnnotationWithReal(source: String): String {
|
fun replaceOptionalJvmInlineAnnotationWithReal(source: String): String {
|
||||||
@@ -15,4 +17,12 @@ object TransformersFunctions {
|
|||||||
fun removeOptionalJvmInlineAnnotation(source: String): String {
|
fun removeOptionalJvmInlineAnnotation(source: String): String {
|
||||||
return source.replace("OPTIONAL_JVM_INLINE_ANNOTATION", "")
|
return source.replace("OPTIONAL_JVM_INLINE_ANNOTATION", "")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
object Android {
|
||||||
|
val forAll: List<(String) -> String> = listOf(
|
||||||
|
TransformersFunctions::replaceOptionalJvmInlineAnnotationWithReal,
|
||||||
|
)
|
||||||
|
val forSpecificFile: Map<File, (String) -> String> = mapOf(
|
||||||
|
)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user