diff --git a/compiler/android-tests/build.gradle.kts b/compiler/android-tests/build.gradle.kts index a256adf9146..a278c9f3bbf 100644 --- a/compiler/android-tests/build.gradle.kts +++ b/compiler/android-tests/build.gradle.kts @@ -43,5 +43,9 @@ projectTest { systemProperty("kotlin.test.android.teamcity", true) } + project.findProperty("kotlin.test.android.path.filter")?.let { + systemProperty("kotlin.test.android.path.filter", it.toString()) + } + workingDir = rootDir } diff --git a/compiler/android-tests/tests/org/jetbrains/kotlin/android/tests/CodegenTestsOnAndroidGenerator.kt b/compiler/android-tests/tests/org/jetbrains/kotlin/android/tests/CodegenTestsOnAndroidGenerator.kt index 83edf595507..fc16d57edcc 100644 --- a/compiler/android-tests/tests/org/jetbrains/kotlin/android/tests/CodegenTestsOnAndroidGenerator.kt +++ b/compiler/android-tests/tests/org/jetbrains/kotlin/android/tests/CodegenTestsOnAndroidGenerator.kt @@ -41,6 +41,8 @@ class CodegenTestsOnAndroidGenerator private constructor(private val pathManager private val generatedTestNames = Lists.newArrayList() + private val pathFilter: String? = System.getProperties().getProperty("kotlin.test.android.path.filter") + private fun generateOutputFiles() { prepareAndroidModule() generateAndSave() @@ -194,6 +196,10 @@ class CodegenTestsOnAndroidGenerator private constructor(private val pathManager } else if (FileUtilRt.getExtension(file.name) != KotlinFileType.EXTENSION) { // skip non kotlin files } else { + if (pathFilter != null && !file.path.contains(pathFilter)) { + continue + } + if (!InTextDirectivesUtils.isPassingTarget(TargetBackend.JVM, file)) { continue }