[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.FrontendKinds
|
||||
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.TransformersFunctions.Android
|
||||
import org.jetbrains.kotlin.test.services.*
|
||||
import org.jetbrains.kotlin.test.services.configuration.CommonEnvironmentConfigurator
|
||||
import org.jetbrains.kotlin.test.services.configuration.JvmEnvironmentConfigurator
|
||||
@@ -412,6 +414,13 @@ class CodegenTestsOnAndroidGenerator private constructor(private val pathManager
|
||||
useAdditionalService<TemporaryDirectoryManager>(::TemporaryDirectoryManagerImpl)
|
||||
useSourcePreprocessor(*AbstractKotlinCompilerTest.defaultPreprocessors.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 {
|
||||
|
||||
+10
@@ -5,6 +5,8 @@
|
||||
|
||||
package org.jetbrains.kotlin.test.runners
|
||||
|
||||
import java.io.File
|
||||
|
||||
object TransformersFunctions {
|
||||
@JvmStatic
|
||||
fun replaceOptionalJvmInlineAnnotationWithReal(source: String): String {
|
||||
@@ -15,4 +17,12 @@ object TransformersFunctions {
|
||||
fun removeOptionalJvmInlineAnnotation(source: String): String {
|
||||
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