diff --git a/idea/kotlin-gradle-tooling/src/KotlinMPPGradleModelBuilder.kt b/idea/kotlin-gradle-tooling/src/KotlinMPPGradleModelBuilder.kt index 7b5ce7570ee..5fc5d349169 100644 --- a/idea/kotlin-gradle-tooling/src/KotlinMPPGradleModelBuilder.kt +++ b/idea/kotlin-gradle-tooling/src/KotlinMPPGradleModelBuilder.kt @@ -341,8 +341,14 @@ class KotlinMPPGradleModelBuilder : ModelBuilderService { if (testRuns != null) { val testReports = testRuns.mapNotNull { (it.javaClass.getMethodOrNull("getExecutionTask")?.invoke(it) as? TaskProvider)?.get() } val testTasks = testReports.flatMap { - ((it.javaClass.getMethodOrNull("getTestTasks")?.invoke(it) as? Collection>)?.map { it.get() }) - ?: listOf(it) + ((it.javaClass.getMethodOrNull("getTestTasks")?.invoke(it) as? Collection)?.mapNotNull { + when { + //TODO(auskov): getTestTasks should return collection of TaskProviders without mixing with Tasks + it is Provider<*> -> it.get() as? Task + it is Task -> it + else -> null + } + }) ?: listOf(it) } return testTasks.mapNotNull { val name = it.name