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.config.*
import org.jetbrains.kotlin.idea.codeInsight.gradle.MultiplePluginVersionGradleImportingTestCase import org.jetbrains.kotlin.idea.codeInsight.gradle.MultiplePluginVersionGradleImportingTestCase
import org.jetbrains.kotlin.idea.codeInsight.gradle.mppImportTestMinVersionForMaster 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.js.JsPlatforms
import org.jetbrains.kotlin.platform.jvm.JvmPlatforms import org.jetbrains.kotlin.platform.jvm.JvmPlatforms
import org.jetbrains.kotlin.platform.konan.NativePlatforms import org.jetbrains.kotlin.platform.konan.NativePlatforms
@@ -101,6 +102,7 @@ class HierarchicalMultiplatformProjectImportingTest : MultiplePluginVersionGradl
moduleDependency("my-app.commonMain", DependencyScope.TEST) moduleDependency("my-app.commonMain", DependencyScope.TEST)
moduleDependency("my-app.commonTest", DependencyScope.TEST) moduleDependency("my-app.commonTest", DependencyScope.TEST)
moduleDependency("my-app.jsMain", 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.jvmAndJsMain", DependencyScope.TEST)
moduleDependency("my-app.jvmAndJsTest", DependencyScope.TEST) moduleDependency("my-app.jvmAndJsTest", DependencyScope.TEST)
moduleDependency("my-app.linuxAndJsMain", DependencyScope.TEST) moduleDependency("my-app.linuxAndJsMain", DependencyScope.TEST)
@@ -160,6 +162,7 @@ class HierarchicalMultiplatformProjectImportingTest : MultiplePluginVersionGradl
moduleDependency("my-app.jvmAndJsMain", DependencyScope.TEST) moduleDependency("my-app.jvmAndJsMain", DependencyScope.TEST)
moduleDependency("my-app.jvmAndJsTest", DependencyScope.TEST) moduleDependency("my-app.jvmAndJsTest", DependencyScope.TEST)
moduleDependency("my-app.jvmMain", 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/kotlin", JavaSourceRootType.TEST_SOURCE)
sourceFolder("src/jvmTest/resources", JavaResourceRootType.TEST_RESOURCE) sourceFolder("src/jvmTest/resources", JavaResourceRootType.TEST_RESOURCE)
} }
@@ -188,7 +191,7 @@ class HierarchicalMultiplatformProjectImportingTest : MultiplePluginVersionGradl
module("my-app.linuxX64Main") { module("my-app.linuxX64Main") {
isHMPP(true) isHMPP(true)
targetPlatform(NativePlatforms.unspecifiedNativePlatform) targetPlatform(NativePlatforms.nativePlatformBySingleTarget(KonanTarget.LINUX_X64))
libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:${gradleKotlinPluginVersion}", DependencyScope.COMPILE) libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:${gradleKotlinPluginVersion}", DependencyScope.COMPILE)
libraryDependency("Kotlin/Native ${gradleKotlinPluginVersion} - builtin [linux_x64]", DependencyScope.PROVIDED) libraryDependency("Kotlin/Native ${gradleKotlinPluginVersion} - builtin [linux_x64]", DependencyScope.PROVIDED)
libraryDependency("Kotlin/Native ${gradleKotlinPluginVersion} - iconv [linux_x64]", DependencyScope.PROVIDED) libraryDependency("Kotlin/Native ${gradleKotlinPluginVersion} - iconv [linux_x64]", DependencyScope.PROVIDED)
@@ -204,7 +207,7 @@ class HierarchicalMultiplatformProjectImportingTest : MultiplePluginVersionGradl
module("my-app.linuxX64Test") { module("my-app.linuxX64Test") {
isHMPP(true) 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-stdlib-common:${gradleKotlinPluginVersion}", DependencyScope.TEST)
libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-test-annotations-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) 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.commonMain", DependencyScope.TEST)
moduleDependency("jvm-on-mpp.hmpp-mod-a.commonTest", 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.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.jvmAndJsMain", DependencyScope.TEST)
moduleDependency("jvm-on-mpp.hmpp-mod-a.jvmAndJsTest", DependencyScope.TEST) moduleDependency("jvm-on-mpp.hmpp-mod-a.jvmAndJsTest", DependencyScope.TEST)
moduleDependency("jvm-on-mpp.hmpp-mod-a.linuxAndJsMain", 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.jvmAndJsMain", DependencyScope.TEST)
moduleDependency("jvm-on-mpp.hmpp-mod-a.jvmAndJsTest", 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.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") { module("jvm-on-mpp.hmpp-mod-a.linuxAndJsMain") {
moduleDependency("jvm-on-mpp.hmpp-mod-a.commonMain", DependencyScope.COMPILE) 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.Before
import org.junit.Test import org.junit.Test
//ToDo: Need to remove RUNTIME dependencies when KT-40551 is resolved
class NewMultiplatformProjectImportingTest : MultiplePluginVersionGradleImportingTestCase() { class NewMultiplatformProjectImportingTest : MultiplePluginVersionGradleImportingTestCase() {
@Before @Before
@@ -101,6 +102,7 @@ class NewMultiplatformProjectImportingTest : MultiplePluginVersionGradleImportin
moduleDependency("app_commonMain", DependencyScope.TEST) moduleDependency("app_commonMain", DependencyScope.TEST)
moduleDependency("app_commonTest", DependencyScope.TEST) moduleDependency("app_commonTest", DependencyScope.TEST)
moduleDependency("app_jsMain", 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/kotlin", TestSourceKotlinRootType)
sourceFolder("app/src/jsTest/resources", TestResourceKotlinRootType) sourceFolder("app/src/jsTest/resources", TestResourceKotlinRootType)
outputPath("app/build/classes/kotlin/js/test", false) outputPath("app/build/classes/kotlin/js/test", false)
@@ -188,6 +190,7 @@ class NewMultiplatformProjectImportingTest : MultiplePluginVersionGradleImportin
moduleDependency("lib_commonMain", DependencyScope.TEST) moduleDependency("lib_commonMain", DependencyScope.TEST)
moduleDependency("lib_commonTest", DependencyScope.TEST) moduleDependency("lib_commonTest", DependencyScope.TEST)
moduleDependency("lib_jsMain", 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/kotlin", TestSourceKotlinRootType)
sourceFolder("lib/src/jsTest/resources", TestResourceKotlinRootType) sourceFolder("lib/src/jsTest/resources", TestResourceKotlinRootType)
outputPath("lib/build/classes/kotlin/js/test", false) outputPath("lib/build/classes/kotlin/js/test", false)
@@ -210,6 +213,7 @@ class NewMultiplatformProjectImportingTest : MultiplePluginVersionGradleImportin
moduleDependency("lib_commonTest", DependencyScope.TEST) moduleDependency("lib_commonTest", DependencyScope.TEST)
moduleDependency("lib_commonMain", DependencyScope.TEST) moduleDependency("lib_commonMain", DependencyScope.TEST)
moduleDependency("lib_jvmMain", 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/kotlin", JavaSourceRootType.TEST_SOURCE)
sourceFolder("lib/src/jvmTest/resources", JavaResourceRootType.TEST_RESOURCE) sourceFolder("lib/src/jvmTest/resources", JavaResourceRootType.TEST_RESOURCE)
outputPath("lib/build/classes/kotlin/jvm/test", false) outputPath("lib/build/classes/kotlin/jvm/test", false)
@@ -385,6 +389,7 @@ class NewMultiplatformProjectImportingTest : MultiplePluginVersionGradleImportin
moduleDependency("project_commonMain", DependencyScope.TEST) moduleDependency("project_commonMain", DependencyScope.TEST)
moduleDependency("project_commonTest", DependencyScope.TEST) moduleDependency("project_commonTest", DependencyScope.TEST)
moduleDependency("project_jvmMain", 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_commonMain", DependencyScope.TEST)
moduleDependency("project_commonTest", DependencyScope.TEST) moduleDependency("project_commonTest", DependencyScope.TEST)
moduleDependency("project_jvmMain", DependencyScope.TEST) moduleDependency("project_jvmMain", DependencyScope.TEST)
moduleDependency("project_jvmMain", DependencyScope.RUNTIME) // Temporary dependency, need to remove after KT-40551 is solved
} }
module("subproject") module("subproject")
@@ -522,10 +528,13 @@ class NewMultiplatformProjectImportingTest : MultiplePluginVersionGradleImportin
} }
module("subproject_jvmTest") { module("subproject_jvmTest") {
moduleDependency("project_commonMain", DependencyScope.TEST) 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_commonMain", DependencyScope.TEST)
moduleDependency("subproject_commonTest", DependencyScope.TEST) moduleDependency("subproject_commonTest", DependencyScope.TEST)
moduleDependency("project_jvmMain", 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.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.commonMain", DependencyScope.TEST)
moduleDependency("project.mpp.commonTest", DependencyScope.TEST, true) moduleDependency("project.mpp.commonTest", DependencyScope.TEST, true)
moduleDependency("project.mpp-base.commonMain", DependencyScope.TEST) 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.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.TEST)
moduleDependency("project.mpp.jvmMain", DependencyScope.RUNTIME) // Temporary dependency, need to remove after KT-40551 is solved
} }
module("project.mpp-base") {} module("project.mpp-base") {}
@@ -730,6 +742,7 @@ class NewMultiplatformProjectImportingTest : MultiplePluginVersionGradleImportin
module("project.mpp-base.jvmTest") { module("project.mpp-base.jvmTest") {
moduleDependency("project.mpp-base.commonMain", DependencyScope.TEST) moduleDependency("project.mpp-base.commonMain", DependencyScope.TEST)
moduleDependency("project.mpp-base.jvmMain", 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) 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.commonMain", DependencyScope.TEST)
moduleDependency("mpp-jardep.library1.commonTest", DependencyScope.TEST, true) moduleDependency("mpp-jardep.library1.commonTest", DependencyScope.TEST, true)
moduleDependency("mpp-jardep.library1.jvmMain", DependencyScope.TEST) 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") {} module("mpp-jardep.library2") {}
@@ -792,10 +806,13 @@ class NewMultiplatformProjectImportingTest : MultiplePluginVersionGradleImportin
} }
module("mpp-jardep.library2.jvmTest") { module("mpp-jardep.library2.jvmTest") {
moduleDependency("mpp-jardep.library1.commonMain", DependencyScope.TEST) 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.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.commonMain", DependencyScope.TEST)
moduleDependency("mpp-jardep.library2.commonTest", DependencyScope.TEST, true) moduleDependency("mpp-jardep.library2.commonTest", DependencyScope.TEST, true)
moduleDependency("mpp-jardep.library2.jvmMain", DependencyScope.TEST) 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") { 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.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.commonMain", DependencyScope.TEST, false)
moduleDependency("jvm-on-mpp.mpp-mod-a.commonTest", DependencyScope.TEST, true) 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.commonMain", DependencyScope.TEST, false)
moduleDependency("jvm-on-mpp.mpp-mod-a.commonTest", DependencyScope.TEST, true) 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.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. //At the moment this is 'fake' source roots and they have no explicit dependencies.
@@ -87,7 +87,7 @@ class ModuleInfo(
val projectInfo: ProjectInfo val projectInfo: ProjectInfo
) { ) {
private val rootModel = module.rootManager private val rootModel = module.rootManager
private val expectedDependencyNames = HashSet<String>() private val expectedDependencyNames = ArrayList<String>()
private val expectedSourceRoots = HashSet<String>() private val expectedSourceRoots = HashSet<String>()
private val expectedExternalSystemTestTasks = ArrayList<ExternalSystemTestRunTask>() private val expectedExternalSystemTestTasks = ArrayList<ExternalSystemTestRunTask>()
@@ -200,7 +200,8 @@ class ModuleInfo(
} }
fun moduleDependency(moduleName: String, scope: DependencyScope, productionOnTest: Boolean? = null) { 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) { if (moduleEntries.size > 1) {
projectInfo.messageCollector.report( projectInfo.messageCollector.report(
"Found multiple order entries for module $moduleName: ${rootModel.orderEntries.filterIsInstance<ModuleOrderEntry>()}" "Found multiple order entries for module $moduleName: ${rootModel.orderEntries.filterIsInstance<ModuleOrderEntry>()}"