diff --git a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/unitTests/diagnosticsTests/KotlinSourceSetTreeDependsOnMismatchTest.kt b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/unitTests/diagnosticsTests/KotlinSourceSetTreeDependsOnMismatchTest.kt index 788b548e994..785ace64c45 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/unitTests/diagnosticsTests/KotlinSourceSetTreeDependsOnMismatchTest.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/unitTests/diagnosticsTests/KotlinSourceSetTreeDependsOnMismatchTest.kt @@ -6,7 +6,6 @@ package org.jetbrains.kotlin.gradle.unitTests.diagnosticsTests import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension -import org.jetbrains.kotlin.gradle.plugin.diagnostics.KotlinToolingDiagnostics.CommonMainWithDependsOnDiagnostic import org.jetbrains.kotlin.gradle.plugin.diagnostics.KotlinToolingDiagnostics.KotlinSourceSetTreeDependsOnMismatch import org.jetbrains.kotlin.gradle.plugin.diagnostics.ToolingDiagnostic import org.jetbrains.kotlin.gradle.plugin.diagnostics.kotlinToolingDiagnosticsCollector @@ -145,6 +144,17 @@ class KotlinSourceSetTreeDependsOnMismatchTest { KotlinSourceSetTreeDependsOnMismatch(dependeeName = "iosMain", dependencyName = "iosTest") ) + @Test + fun `test that cycles are reported from different diagnostic`() { + assertFails { + checkDiagnostics { + // introduce following cycle: appleMain -> iosTest -> appleTest -> iosMain -> appleMain + sourceSets.getByName("appleMain").dependsOn(sourceSets.getByName("iosTest")) + sourceSets.getByName("appleTest").dependsOn(sourceSets.getByName("iosMain")) + } + } + } + @Test fun `test that only lowest source set edges are reported`() = checkDiagnostics { sourceSets.getByName("iosX64Test").dependsOn(sourceSets.getByName("iosMain"))