diff --git a/buildSrc/src/main/kotlin/tasks.kt b/buildSrc/src/main/kotlin/tasks.kt index 600d4468b48..a150f8fa89c 100644 --- a/buildSrc/src/main/kotlin/tasks.kt +++ b/buildSrc/src/main/kotlin/tasks.kt @@ -33,11 +33,14 @@ fun Project.projectTest(taskName: String = "test", body: Test.() -> Unit = {}): val patterns = filter.includePatterns + ((filter as? DefaultTestFilter)?.commandLineIncludePatterns ?: emptySet()) if (patterns.isEmpty() || patterns.any { '*' in it }) return@doFirst patterns.forEach { pattern -> + var isClassPattern = false val maybeMethodName = pattern.substringAfterLast('.') - val maybeClassFqName = if (maybeMethodName.isFirstChar(::isLowerCase)) + val maybeClassFqName = if (maybeMethodName.isFirstChar(::isLowerCase)) { pattern.substringBeforeLast('.') - else + } else { + isClassPattern = true pattern + } if (!maybeClassFqName.substringAfterLast('.').isFirstChar(::isUpperCase)) { return@forEach @@ -46,6 +49,10 @@ fun Project.projectTest(taskName: String = "test", body: Test.() -> Unit = {}): val classFileNameWithoutExtension = maybeClassFqName.replace('.', '/') val classFileName = "$classFileNameWithoutExtension.class" + if (isClassPattern) { + filter.includePatterns.add("$pattern$*") + } + include { val path = it.path if (it.isDirectory) {