Fix testData due to KT-40551.

Starting from version 1.3.60, unnecessary dependencies with runtime
scopes have been added for modules jvmTest and jsTest. After updating
the plugin version in tests from 1.3.50 to 1.3.72 and master,
tests began to fail because of this. In order not to stop other checks
in tests, they were redone for the current behavior with unnecessary
dependencies.
After fixing bug KT-40551, the old behavior in tests will be returned.
This commit is contained in:
Alexander Dudinsky
2020-08-04 12:53:40 +03:00
parent 0298795b18
commit 6652a7072c
3 changed files with 29 additions and 5 deletions
@@ -11,6 +11,7 @@ import org.jetbrains.jps.model.java.JavaSourceRootType
import org.jetbrains.kotlin.config.*
import org.jetbrains.kotlin.idea.codeInsight.gradle.MultiplePluginVersionGradleImportingTestCase
import org.jetbrains.kotlin.idea.codeInsight.gradle.mppImportTestMinVersionForMaster
import org.jetbrains.kotlin.konan.target.KonanTarget
import org.jetbrains.kotlin.platform.js.JsPlatforms
import org.jetbrains.kotlin.platform.jvm.JvmPlatforms
import org.jetbrains.kotlin.platform.konan.NativePlatforms
@@ -101,6 +102,7 @@ class HierarchicalMultiplatformProjectImportingTest : MultiplePluginVersionGradl
moduleDependency("my-app.commonMain", DependencyScope.TEST)
moduleDependency("my-app.commonTest", DependencyScope.TEST)
moduleDependency("my-app.jsMain", DependencyScope.TEST)
moduleDependency("my-app.jsMain", DependencyScope.RUNTIME) // Temporary dependency, need to remove after KT-40551 is solved
moduleDependency("my-app.jvmAndJsMain", DependencyScope.TEST)
moduleDependency("my-app.jvmAndJsTest", DependencyScope.TEST)
moduleDependency("my-app.linuxAndJsMain", DependencyScope.TEST)
@@ -160,6 +162,7 @@ class HierarchicalMultiplatformProjectImportingTest : MultiplePluginVersionGradl
moduleDependency("my-app.jvmAndJsMain", DependencyScope.TEST)
moduleDependency("my-app.jvmAndJsTest", DependencyScope.TEST)
moduleDependency("my-app.jvmMain", DependencyScope.TEST)
moduleDependency("my-app.jvmMain", DependencyScope.RUNTIME) // Temporary dependency, need to remove after KT-40551 is solved
sourceFolder("src/jvmTest/kotlin", JavaSourceRootType.TEST_SOURCE)
sourceFolder("src/jvmTest/resources", JavaResourceRootType.TEST_RESOURCE)
}
@@ -188,7 +191,7 @@ class HierarchicalMultiplatformProjectImportingTest : MultiplePluginVersionGradl
module("my-app.linuxX64Main") {
isHMPP(true)
targetPlatform(NativePlatforms.unspecifiedNativePlatform)
targetPlatform(NativePlatforms.nativePlatformBySingleTarget(KonanTarget.LINUX_X64))
libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:${gradleKotlinPluginVersion}", DependencyScope.COMPILE)
libraryDependency("Kotlin/Native ${gradleKotlinPluginVersion} - builtin [linux_x64]", DependencyScope.PROVIDED)
libraryDependency("Kotlin/Native ${gradleKotlinPluginVersion} - iconv [linux_x64]", DependencyScope.PROVIDED)
@@ -204,7 +207,7 @@ class HierarchicalMultiplatformProjectImportingTest : MultiplePluginVersionGradl
module("my-app.linuxX64Test") {
isHMPP(true)
targetPlatform(NativePlatforms.unspecifiedNativePlatform)
targetPlatform(NativePlatforms.nativePlatformBySingleTarget(KonanTarget.LINUX_X64))
libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:${gradleKotlinPluginVersion}", DependencyScope.TEST)
libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-test-annotations-common:${gradleKotlinPluginVersion}", DependencyScope.TEST)
libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-test-common:${gradleKotlinPluginVersion}", DependencyScope.TEST)
@@ -268,6 +271,7 @@ class HierarchicalMultiplatformProjectImportingTest : MultiplePluginVersionGradl
moduleDependency("jvm-on-mpp.hmpp-mod-a.commonMain", DependencyScope.TEST)
moduleDependency("jvm-on-mpp.hmpp-mod-a.commonTest", DependencyScope.TEST)
moduleDependency("jvm-on-mpp.hmpp-mod-a.jsMain", DependencyScope.TEST)
moduleDependency("jvm-on-mpp.hmpp-mod-a.jsMain", DependencyScope.RUNTIME) // Temporary dependency, need to remove after KT-40551 is solved
moduleDependency("jvm-on-mpp.hmpp-mod-a.jvmAndJsMain", DependencyScope.TEST)
moduleDependency("jvm-on-mpp.hmpp-mod-a.jvmAndJsTest", DependencyScope.TEST)
moduleDependency("jvm-on-mpp.hmpp-mod-a.linuxAndJsMain", DependencyScope.TEST)
@@ -295,7 +299,7 @@ class HierarchicalMultiplatformProjectImportingTest : MultiplePluginVersionGradl
moduleDependency("jvm-on-mpp.hmpp-mod-a.jvmAndJsMain", DependencyScope.TEST)
moduleDependency("jvm-on-mpp.hmpp-mod-a.jvmAndJsTest", DependencyScope.TEST)
moduleDependency("jvm-on-mpp.hmpp-mod-a.jvmMain", DependencyScope.TEST)
moduleDependency("jvm-on-mpp.hmpp-mod-a.jvmMain", DependencyScope.RUNTIME) // Temporary dependency, need to remove after KT-40551 is solved
}
module("jvm-on-mpp.hmpp-mod-a.linuxAndJsMain") {
moduleDependency("jvm-on-mpp.hmpp-mod-a.commonMain", DependencyScope.COMPILE)
@@ -22,6 +22,7 @@ import org.junit.After
import org.junit.Before
import org.junit.Test
//ToDo: Need to remove RUNTIME dependencies when KT-40551 is resolved
class NewMultiplatformProjectImportingTest : MultiplePluginVersionGradleImportingTestCase() {
@Before
@@ -101,6 +102,7 @@ class NewMultiplatformProjectImportingTest : MultiplePluginVersionGradleImportin
moduleDependency("app_commonMain", DependencyScope.TEST)
moduleDependency("app_commonTest", DependencyScope.TEST)
moduleDependency("app_jsMain", DependencyScope.TEST)
moduleDependency("app_jsMain", DependencyScope.RUNTIME) // Temporary dependency, need to remove after KT-40551 is solved
sourceFolder("app/src/jsTest/kotlin", TestSourceKotlinRootType)
sourceFolder("app/src/jsTest/resources", TestResourceKotlinRootType)
outputPath("app/build/classes/kotlin/js/test", false)
@@ -188,6 +190,7 @@ class NewMultiplatformProjectImportingTest : MultiplePluginVersionGradleImportin
moduleDependency("lib_commonMain", DependencyScope.TEST)
moduleDependency("lib_commonTest", DependencyScope.TEST)
moduleDependency("lib_jsMain", DependencyScope.TEST)
moduleDependency("lib_jsMain", DependencyScope.RUNTIME) // Temporary dependency, need to remove after KT-40551 is solved
sourceFolder("lib/src/jsTest/kotlin", TestSourceKotlinRootType)
sourceFolder("lib/src/jsTest/resources", TestResourceKotlinRootType)
outputPath("lib/build/classes/kotlin/js/test", false)
@@ -210,6 +213,7 @@ class NewMultiplatformProjectImportingTest : MultiplePluginVersionGradleImportin
moduleDependency("lib_commonTest", DependencyScope.TEST)
moduleDependency("lib_commonMain", DependencyScope.TEST)
moduleDependency("lib_jvmMain", DependencyScope.TEST)
moduleDependency("lib_jvmMain", DependencyScope.RUNTIME) // Temporary dependency, need to remove after KT-40551 is solved
sourceFolder("lib/src/jvmTest/kotlin", JavaSourceRootType.TEST_SOURCE)
sourceFolder("lib/src/jvmTest/resources", JavaResourceRootType.TEST_RESOURCE)
outputPath("lib/build/classes/kotlin/jvm/test", false)
@@ -385,6 +389,7 @@ class NewMultiplatformProjectImportingTest : MultiplePluginVersionGradleImportin
moduleDependency("project_commonMain", DependencyScope.TEST)
moduleDependency("project_commonTest", DependencyScope.TEST)
moduleDependency("project_jvmMain", DependencyScope.TEST)
moduleDependency("project_jvmMain", DependencyScope.RUNTIME) // Temporary dependency, need to remove after KT-40551 is solved
}
}
@@ -505,6 +510,7 @@ class NewMultiplatformProjectImportingTest : MultiplePluginVersionGradleImportin
moduleDependency("project_commonMain", DependencyScope.TEST)
moduleDependency("project_commonTest", DependencyScope.TEST)
moduleDependency("project_jvmMain", DependencyScope.TEST)
moduleDependency("project_jvmMain", DependencyScope.RUNTIME) // Temporary dependency, need to remove after KT-40551 is solved
}
module("subproject")
@@ -522,10 +528,13 @@ class NewMultiplatformProjectImportingTest : MultiplePluginVersionGradleImportin
}
module("subproject_jvmTest") {
moduleDependency("project_commonMain", DependencyScope.TEST)
moduleDependency("project_commonMain", DependencyScope.RUNTIME) // Temporary dependency, need to remove after KT-40551 is solved
moduleDependency("subproject_commonMain", DependencyScope.TEST)
moduleDependency("subproject_commonTest", DependencyScope.TEST)
moduleDependency("project_jvmMain", DependencyScope.TEST)
moduleDependency("project_jvmMain", DependencyScope.RUNTIME) // Temporary dependency, need to remove after KT-40551 is solved
moduleDependency("subproject_jvmMain", DependencyScope.TEST)
moduleDependency("subproject_jvmMain", DependencyScope.RUNTIME) // Temporary dependency, need to remove after KT-40551 is solved
}
}
@@ -715,8 +724,11 @@ class NewMultiplatformProjectImportingTest : MultiplePluginVersionGradleImportin
moduleDependency("project.mpp.commonMain", DependencyScope.TEST)
moduleDependency("project.mpp.commonTest", DependencyScope.TEST, true)
moduleDependency("project.mpp-base.commonMain", DependencyScope.TEST)
moduleDependency("project.mpp-base.commonMain", DependencyScope.RUNTIME) // Temporary dependency, need to remove after KT-40551 is solved
moduleDependency("project.mpp-base.jvmMain", DependencyScope.TEST)
moduleDependency("project.mpp-base.jvmMain", DependencyScope.RUNTIME) // Temporary dependency, need to remove after KT-40551 is solved
moduleDependency("project.mpp.jvmMain", DependencyScope.TEST)
moduleDependency("project.mpp.jvmMain", DependencyScope.RUNTIME) // Temporary dependency, need to remove after KT-40551 is solved
}
module("project.mpp-base") {}
@@ -730,6 +742,7 @@ class NewMultiplatformProjectImportingTest : MultiplePluginVersionGradleImportin
module("project.mpp-base.jvmTest") {
moduleDependency("project.mpp-base.commonMain", DependencyScope.TEST)
moduleDependency("project.mpp-base.jvmMain", DependencyScope.TEST)
moduleDependency("project.mpp-base.jvmMain", DependencyScope.RUNTIME) // Temporary dependency, need to remove after KT-40551 is solved
moduleDependency("project.mpp-base.commonTest", DependencyScope.TEST, true)
}
}
@@ -776,6 +789,7 @@ class NewMultiplatformProjectImportingTest : MultiplePluginVersionGradleImportin
moduleDependency("mpp-jardep.library1.commonMain", DependencyScope.TEST)
moduleDependency("mpp-jardep.library1.commonTest", DependencyScope.TEST, true)
moduleDependency("mpp-jardep.library1.jvmMain", DependencyScope.TEST)
moduleDependency("mpp-jardep.library1.jvmMain", DependencyScope.RUNTIME) // Temporary dependency, need to remove after KT-40551 is solved
}
module("mpp-jardep.library2") {}
@@ -792,10 +806,13 @@ class NewMultiplatformProjectImportingTest : MultiplePluginVersionGradleImportin
}
module("mpp-jardep.library2.jvmTest") {
moduleDependency("mpp-jardep.library1.commonMain", DependencyScope.TEST)
moduleDependency("mpp-jardep.library1.commonMain", DependencyScope.RUNTIME) // Temporary dependency, need to remove after KT-40551 is solved
moduleDependency("mpp-jardep.library1.jvmMain", DependencyScope.TEST)
moduleDependency("mpp-jardep.library1.jvmMain", DependencyScope.RUNTIME) // Temporary dependency, need to remove after KT-40551 is solved
moduleDependency("mpp-jardep.library2.commonMain", DependencyScope.TEST)
moduleDependency("mpp-jardep.library2.commonTest", DependencyScope.TEST, true)
moduleDependency("mpp-jardep.library2.jvmMain", DependencyScope.TEST)
moduleDependency("mpp-jardep.library2.jvmMain", DependencyScope.RUNTIME) // Temporary dependency, need to remove after KT-40551 is solved
}
}
}
@@ -847,6 +864,7 @@ class NewMultiplatformProjectImportingTest : MultiplePluginVersionGradleImportin
}
module("jvm-on-mpp.mpp-mod-a.jsTest") {
moduleDependency("jvm-on-mpp.mpp-mod-a.jsMain", DependencyScope.TEST, false)
moduleDependency("jvm-on-mpp.mpp-mod-a.jsMain", DependencyScope.RUNTIME, false) // Temporary dependency, need to remove after KT-40551 is solved
moduleDependency("jvm-on-mpp.mpp-mod-a.commonMain", DependencyScope.TEST, false)
moduleDependency("jvm-on-mpp.mpp-mod-a.commonTest", DependencyScope.TEST, true)
}
@@ -857,6 +875,7 @@ class NewMultiplatformProjectImportingTest : MultiplePluginVersionGradleImportin
moduleDependency("jvm-on-mpp.mpp-mod-a.commonMain", DependencyScope.TEST, false)
moduleDependency("jvm-on-mpp.mpp-mod-a.commonTest", DependencyScope.TEST, true)
moduleDependency("jvm-on-mpp.mpp-mod-a.jvmMain", DependencyScope.TEST, false)
moduleDependency("jvm-on-mpp.mpp-mod-a.jvmMain", DependencyScope.RUNTIME, false) // Temporary dependency, need to remove after KT-40551 is solved
}
//At the moment this is 'fake' source roots and they have no explicit dependencies.
@@ -87,7 +87,7 @@ class ModuleInfo(
val projectInfo: ProjectInfo
) {
private val rootModel = module.rootManager
private val expectedDependencyNames = HashSet<String>()
private val expectedDependencyNames = ArrayList<String>()
private val expectedSourceRoots = HashSet<String>()
private val expectedExternalSystemTestTasks = ArrayList<ExternalSystemTestRunTask>()
@@ -200,7 +200,8 @@ class ModuleInfo(
}
fun moduleDependency(moduleName: String, scope: DependencyScope, productionOnTest: Boolean? = null) {
val moduleEntries = rootModel.orderEntries.filterIsInstance<ModuleOrderEntry>().filter { it.moduleName == moduleName }
val moduleEntries =
rootModel.orderEntries.filterIsInstance<ModuleOrderEntry>().filter { it.moduleName == moduleName && it.scope == scope}
if (moduleEntries.size > 1) {
projectInfo.messageCollector.report(
"Found multiple order entries for module $moduleName: ${rootModel.orderEntries.filterIsInstance<ModuleOrderEntry>()}"