Enabled tests for gradle 4.9

This commit is contained in:
Andrey Uskov
2018-11-19 21:49:21 +03:00
parent 0fd9e06f8a
commit 903a048fcd
2 changed files with 109 additions and 49 deletions
@@ -32,6 +32,8 @@ import org.jetbrains.plugins.gradle.tooling.annotation.TargetVersions
import org.junit.Test
class MultiplatformProjectImportingTest : GradleImportingTestCase() {
private fun legacyMode() = gradleVersion.split(".")[0].toInt() < 4
private fun getDependencyLibraryUrls(moduleName: String) =
getRootManager(moduleName)
.orderEntries
@@ -141,10 +143,8 @@ class MultiplatformProjectImportingTest : GradleImportingTestCase() {
assertModuleModuleDepScope("jvm-app_test", "common-lib2_test", DependencyScope.COMPILE)
}
@TargetVersions("3.5")
@Test
fun testTransitiveImplement() {
// TODO fix for 4.9
configureByFiles()
val isResolveModulePerSourceSet = getCurrentExternalProjectSettings().isResolveModulePerSourceSet
@@ -179,17 +179,20 @@ class MultiplatformProjectImportingTest : GradleImportingTestCase() {
importProject()
assertModuleModuleDepScope("project2", "project1", DependencyScope.COMPILE)
assertModuleModuleDepScope("project3", "project2", DependencyScope.TEST, DependencyScope.PROVIDED, DependencyScope.RUNTIME)
if (legacyMode()) {
// This data is obtained from Gradle model. Actually RUNTIME+TEST+PROVIDED == COMPILE, thus this difference does not matter for user
assertModuleModuleDepScope("project3", "project2", DependencyScope.RUNTIME, DependencyScope.TEST, DependencyScope.PROVIDED)
} else {
assertModuleModuleDepScope("project3", "project2", DependencyScope.COMPILE)
}
assertModuleModuleDepScope("project3", "project1", DependencyScope.COMPILE)
} finally {
currentExternalProjectSettings.isResolveModulePerSourceSet = isResolveModulePerSourceSet
}
}
@TargetVersions("3.5")
@Test
fun testTransitiveImplementWithNonDefaultConfig() {
// TODO fix for 4.9
configureByFiles()
val isResolveModulePerSourceSet = getCurrentExternalProjectSettings().isResolveModulePerSourceSet
@@ -215,7 +218,12 @@ class MultiplatformProjectImportingTest : GradleImportingTestCase() {
* due to IDEA importer limitations
*/
assertModuleModuleDepScope("project2", "project1", DependencyScope.COMPILE)
assertModuleModuleDepScope("project3", "project2", DependencyScope.TEST, DependencyScope.PROVIDED, DependencyScope.RUNTIME)
if (legacyMode()) {
assertModuleModuleDepScope("project3", "project2", DependencyScope.TEST, DependencyScope.PROVIDED, DependencyScope.RUNTIME)
} else {
assertModuleModuleDepScope("project3", "project2", DependencyScope.COMPILE)
}
assertModuleModuleDepScope("project3", "project1", DependencyScope.COMPILE)
TestCase.assertEquals(
@@ -285,7 +293,7 @@ class MultiplatformProjectImportingTest : GradleImportingTestCase() {
}
}
@TargetVersions("3.5")
//@TargetVersions("3.5")
@Test
fun testJsTestOutputFile() {
// TODO fix for 4.9
@@ -294,36 +302,32 @@ class MultiplatformProjectImportingTest : GradleImportingTestCase() {
importProject()
TestCase.assertEquals(
projectPath + "/project2/build/classes/test/project2_test.js",
projectPath + "/project2/build/classes/${if (legacyMode()) "" else "kotlin/"}test/project2_test.js",
PathUtil.toSystemIndependentName(KotlinFacet.get(getModule("project2_main"))!!.configuration.settings.testOutputPath)
)
TestCase.assertEquals(
projectPath + "/project2/build/classes/test/project2_test.js",
projectPath + "/project2/build/classes/${if (legacyMode()) "" else "kotlin/"}test/project2_test.js",
PathUtil.toSystemIndependentName(KotlinFacet.get(getModule("project2_test"))!!.configuration.settings.testOutputPath)
)
}
@TargetVersions("3.5")
@Test
fun testJsProductionOutputFile() {
// TODO fix for 4.9
configureByFiles()
importProject()
TestCase.assertEquals(
projectPath + "/project2/build/classes/main/project2.js",
projectPath + "/project2/build/classes/${if (legacyMode()) "" else "kotlin/"}main/project2.js",
PathUtil.toSystemIndependentName(KotlinFacet.get(getModule("project2_main"))!!.configuration.settings.productionOutputPath)
)
TestCase.assertEquals(
projectPath + "/project2/build/classes/main/project2.js",
projectPath + "/project2/build/classes/${if (legacyMode()) "" else "kotlin/"}main/project2.js",
PathUtil.toSystemIndependentName(KotlinFacet.get(getModule("project2_test"))!!.configuration.settings.productionOutputPath)
)
}
@TargetVersions("3.5")
@Test
fun testJsTestOutputFileInProjectWithAndroid() {
// TODO fix for 4.9
configureByFiles()
createProjectSubFile(
"local.properties", """
@@ -334,7 +338,7 @@ class MultiplatformProjectImportingTest : GradleImportingTestCase() {
importProject()
TestCase.assertEquals(
projectPath + "/project2/build/classes/test/project2_test.js",
projectPath + "/project2/build/classes/${if (legacyMode()) "" else "kotlin/"}test/project2_test.js",
PathUtil.toSystemIndependentName(KotlinFacet.get(getModule("project2"))!!.configuration.settings.testOutputPath)
)
}
@@ -30,6 +30,8 @@ import org.jetbrains.kotlin.test.KotlinTestUtils
import org.junit.Test
class MultiplatformProjectImportingTest : GradleImportingTestCase() {
private fun legacyMode() = gradleVersion.split(".")[0].toInt() < 4
private fun getDependencyLibraryUrls(moduleName: String) =
getRootManager(moduleName)
.orderEntries
@@ -96,19 +98,37 @@ class MultiplatformProjectImportingTest : GradleImportingTestCase() {
assertModuleModuleDepScope("jvm-app", "common-app", DependencyScope.COMPILE)
assertModuleModuleDepScope("jvm-app", "common-lib", DependencyScope.COMPILE)
assertModuleModuleDepScope(
"jvm-app",
"jvm-lib",
DependencyScope.COMPILE, DependencyScope.RUNTIME, DependencyScope.PROVIDED, DependencyScope.TEST
)
if (legacyMode()) {
assertModuleModuleDepScope(
"jvm-app",
"jvm-lib",
DependencyScope.COMPILE, DependencyScope.RUNTIME, DependencyScope.PROVIDED, DependencyScope.TEST
)
} else {
assertModuleModuleDepScope(
"jvm-app",
"jvm-lib",
DependencyScope.COMPILE
)
}
assertModuleModuleDepScope("js-app", "common-app", DependencyScope.COMPILE)
assertModuleModuleDepScope("js-app", "common-lib", DependencyScope.COMPILE)
assertModuleModuleDepScope(
"js-app",
"js-lib",
DependencyScope.COMPILE, DependencyScope.RUNTIME, DependencyScope.PROVIDED, DependencyScope.TEST
)
if (legacyMode()) {
assertModuleModuleDepScope(
"js-app",
"js-lib",
DependencyScope.COMPILE, DependencyScope.RUNTIME, DependencyScope.PROVIDED, DependencyScope.TEST
)
} else {
assertModuleModuleDepScope(
"js-app",
"js-lib",
DependencyScope.COMPILE
)
}
}
@Test
@@ -116,16 +136,34 @@ class MultiplatformProjectImportingTest : GradleImportingTestCase() {
configureByFiles()
importProject()
assertModuleModuleDepScope(
"jvm-app",
"jvm-lib2",
DependencyScope.COMPILE, DependencyScope.RUNTIME, DependencyScope.PROVIDED, DependencyScope.TEST
)
assertModuleModuleDepScope(
"jvm-app",
"jvm-lib1",
DependencyScope.COMPILE, DependencyScope.RUNTIME, DependencyScope.PROVIDED, DependencyScope.TEST
)
if (legacyMode()) {
assertModuleModuleDepScope(
"jvm-app",
"jvm-lib2",
DependencyScope.COMPILE, DependencyScope.RUNTIME, DependencyScope.PROVIDED, DependencyScope.TEST
)
} else {
assertModuleModuleDepScope(
"jvm-app",
"jvm-lib2",
DependencyScope.COMPILE
)
}
if (legacyMode()) {
assertModuleModuleDepScope(
"jvm-app",
"jvm-lib1",
DependencyScope.COMPILE, DependencyScope.RUNTIME, DependencyScope.PROVIDED, DependencyScope.TEST
)
} else {
assertModuleModuleDepScope(
"jvm-app",
"jvm-lib1",
DependencyScope.COMPILE
)
}
assertModuleModuleDepScope("jvm-app","common-lib1", DependencyScope.COMPILE)
assertModuleModuleDepScope("jvm-app", "common-lib2",DependencyScope.COMPILE)
}
@@ -142,22 +180,40 @@ class MultiplatformProjectImportingTest : GradleImportingTestCase() {
assertModuleModuleDepScope("project2", "project1", DependencyScope.COMPILE)
assertModuleModuleDepScope(
"project3",
"project2",
DependencyScope.COMPILE, DependencyScope.RUNTIME, DependencyScope.PROVIDED, DependencyScope.TEST
)
if (legacyMode()) {
assertModuleModuleDepScope(
"project3",
"project2",
DependencyScope.COMPILE, DependencyScope.RUNTIME, DependencyScope.PROVIDED, DependencyScope.TEST
)
} else {
assertModuleModuleDepScope(
"project3",
"project2",
DependencyScope.COMPILE
)
}
assertModuleModuleDepScope("project3", "project1", DependencyScope.COMPILE)
currentExternalProjectSettings.isResolveModulePerSourceSet = false
importProject()
assertModuleModuleDepScope("project2", "project1", DependencyScope.COMPILE)
assertModuleModuleDepScope(
"project3",
"project2",
DependencyScope.COMPILE, DependencyScope.RUNTIME, DependencyScope.PROVIDED, DependencyScope.TEST
)
if (legacyMode()) {
assertModuleModuleDepScope(
"project3",
"project2",
DependencyScope.COMPILE, DependencyScope.RUNTIME, DependencyScope.PROVIDED, DependencyScope.TEST
)
} else {
assertModuleModuleDepScope(
"project3",
"project2",
DependencyScope.COMPILE
)
}
assertModuleModuleDepScope("project3", "project1", DependencyScope.COMPILE)
} finally {
currentExternalProjectSettings.isResolveModulePerSourceSet = isResolveModulePerSourceSet
@@ -272,7 +328,7 @@ class MultiplatformProjectImportingTest : GradleImportingTestCase() {
importProject()
TestCase.assertEquals(
projectPath + "/project2/build/classes/test/project2_test.js",
projectPath + "/project2/build/classes/${if (legacyMode()) "" else "kotlin/"}test/project2_test.js",
PathUtil.toSystemIndependentName(KotlinFacet.get(getModule("project2"))!!.configuration.settings.testOutputPath)
)
}
@@ -283,7 +339,7 @@ class MultiplatformProjectImportingTest : GradleImportingTestCase() {
importProject()
TestCase.assertEquals(
projectPath + "/project2/build/classes/main/project2.js",
projectPath + "/project2/build/classes/${if (legacyMode()) "" else "kotlin/"}main/project2.js",
PathUtil.toSystemIndependentName(KotlinFacet.get(getModule("project2"))!!.configuration.settings.productionOutputPath)
)
}
@@ -300,7 +356,7 @@ class MultiplatformProjectImportingTest : GradleImportingTestCase() {
importProject()
TestCase.assertEquals(
projectPath + "/project2/build/classes/test/project2_test.js",
projectPath + "/project2/build/classes/${if (legacyMode()) "" else "kotlin/"}test/project2_test.js",
PathUtil.toSystemIndependentName(KotlinFacet.get(getModule("project2"))!!.configuration.settings.testOutputPath)
)
}