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 import org.junit.Test
class MultiplatformProjectImportingTest : GradleImportingTestCase() { class MultiplatformProjectImportingTest : GradleImportingTestCase() {
private fun legacyMode() = gradleVersion.split(".")[0].toInt() < 4
private fun getDependencyLibraryUrls(moduleName: String) = private fun getDependencyLibraryUrls(moduleName: String) =
getRootManager(moduleName) getRootManager(moduleName)
.orderEntries .orderEntries
@@ -141,10 +143,8 @@ class MultiplatformProjectImportingTest : GradleImportingTestCase() {
assertModuleModuleDepScope("jvm-app_test", "common-lib2_test", DependencyScope.COMPILE) assertModuleModuleDepScope("jvm-app_test", "common-lib2_test", DependencyScope.COMPILE)
} }
@TargetVersions("3.5")
@Test @Test
fun testTransitiveImplement() { fun testTransitiveImplement() {
// TODO fix for 4.9
configureByFiles() configureByFiles()
val isResolveModulePerSourceSet = getCurrentExternalProjectSettings().isResolveModulePerSourceSet val isResolveModulePerSourceSet = getCurrentExternalProjectSettings().isResolveModulePerSourceSet
@@ -179,17 +179,20 @@ class MultiplatformProjectImportingTest : GradleImportingTestCase() {
importProject() importProject()
assertModuleModuleDepScope("project2", "project1", DependencyScope.COMPILE) 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) assertModuleModuleDepScope("project3", "project1", DependencyScope.COMPILE)
} finally { } finally {
currentExternalProjectSettings.isResolveModulePerSourceSet = isResolveModulePerSourceSet currentExternalProjectSettings.isResolveModulePerSourceSet = isResolveModulePerSourceSet
} }
} }
@TargetVersions("3.5")
@Test @Test
fun testTransitiveImplementWithNonDefaultConfig() { fun testTransitiveImplementWithNonDefaultConfig() {
// TODO fix for 4.9
configureByFiles() configureByFiles()
val isResolveModulePerSourceSet = getCurrentExternalProjectSettings().isResolveModulePerSourceSet val isResolveModulePerSourceSet = getCurrentExternalProjectSettings().isResolveModulePerSourceSet
@@ -215,7 +218,12 @@ class MultiplatformProjectImportingTest : GradleImportingTestCase() {
* due to IDEA importer limitations * due to IDEA importer limitations
*/ */
assertModuleModuleDepScope("project2", "project1", DependencyScope.COMPILE) 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) assertModuleModuleDepScope("project3", "project1", DependencyScope.COMPILE)
TestCase.assertEquals( TestCase.assertEquals(
@@ -285,7 +293,7 @@ class MultiplatformProjectImportingTest : GradleImportingTestCase() {
} }
} }
@TargetVersions("3.5") //@TargetVersions("3.5")
@Test @Test
fun testJsTestOutputFile() { fun testJsTestOutputFile() {
// TODO fix for 4.9 // TODO fix for 4.9
@@ -294,36 +302,32 @@ class MultiplatformProjectImportingTest : GradleImportingTestCase() {
importProject() importProject()
TestCase.assertEquals( 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) PathUtil.toSystemIndependentName(KotlinFacet.get(getModule("project2_main"))!!.configuration.settings.testOutputPath)
) )
TestCase.assertEquals( 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) PathUtil.toSystemIndependentName(KotlinFacet.get(getModule("project2_test"))!!.configuration.settings.testOutputPath)
) )
} }
@TargetVersions("3.5")
@Test @Test
fun testJsProductionOutputFile() { fun testJsProductionOutputFile() {
// TODO fix for 4.9
configureByFiles() configureByFiles()
importProject() importProject()
TestCase.assertEquals( 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) PathUtil.toSystemIndependentName(KotlinFacet.get(getModule("project2_main"))!!.configuration.settings.productionOutputPath)
) )
TestCase.assertEquals( 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) PathUtil.toSystemIndependentName(KotlinFacet.get(getModule("project2_test"))!!.configuration.settings.productionOutputPath)
) )
} }
@TargetVersions("3.5")
@Test @Test
fun testJsTestOutputFileInProjectWithAndroid() { fun testJsTestOutputFileInProjectWithAndroid() {
// TODO fix for 4.9
configureByFiles() configureByFiles()
createProjectSubFile( createProjectSubFile(
"local.properties", """ "local.properties", """
@@ -334,7 +338,7 @@ class MultiplatformProjectImportingTest : GradleImportingTestCase() {
importProject() importProject()
TestCase.assertEquals( 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) PathUtil.toSystemIndependentName(KotlinFacet.get(getModule("project2"))!!.configuration.settings.testOutputPath)
) )
} }
@@ -30,6 +30,8 @@ import org.jetbrains.kotlin.test.KotlinTestUtils
import org.junit.Test import org.junit.Test
class MultiplatformProjectImportingTest : GradleImportingTestCase() { class MultiplatformProjectImportingTest : GradleImportingTestCase() {
private fun legacyMode() = gradleVersion.split(".")[0].toInt() < 4
private fun getDependencyLibraryUrls(moduleName: String) = private fun getDependencyLibraryUrls(moduleName: String) =
getRootManager(moduleName) getRootManager(moduleName)
.orderEntries .orderEntries
@@ -96,19 +98,37 @@ class MultiplatformProjectImportingTest : GradleImportingTestCase() {
assertModuleModuleDepScope("jvm-app", "common-app", DependencyScope.COMPILE) assertModuleModuleDepScope("jvm-app", "common-app", DependencyScope.COMPILE)
assertModuleModuleDepScope("jvm-app", "common-lib", DependencyScope.COMPILE) assertModuleModuleDepScope("jvm-app", "common-lib", DependencyScope.COMPILE)
assertModuleModuleDepScope( if (legacyMode()) {
"jvm-app", assertModuleModuleDepScope(
"jvm-lib", "jvm-app",
DependencyScope.COMPILE, DependencyScope.RUNTIME, DependencyScope.PROVIDED, DependencyScope.TEST "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-app", DependencyScope.COMPILE)
assertModuleModuleDepScope("js-app", "common-lib", DependencyScope.COMPILE) assertModuleModuleDepScope("js-app", "common-lib", DependencyScope.COMPILE)
assertModuleModuleDepScope( if (legacyMode()) {
"js-app", assertModuleModuleDepScope(
"js-lib", "js-app",
DependencyScope.COMPILE, DependencyScope.RUNTIME, DependencyScope.PROVIDED, DependencyScope.TEST "js-lib",
) DependencyScope.COMPILE, DependencyScope.RUNTIME, DependencyScope.PROVIDED, DependencyScope.TEST
)
} else {
assertModuleModuleDepScope(
"js-app",
"js-lib",
DependencyScope.COMPILE
)
}
} }
@Test @Test
@@ -116,16 +136,34 @@ class MultiplatformProjectImportingTest : GradleImportingTestCase() {
configureByFiles() configureByFiles()
importProject() importProject()
assertModuleModuleDepScope( if (legacyMode()) {
"jvm-app", assertModuleModuleDepScope(
"jvm-lib2", "jvm-app",
DependencyScope.COMPILE, DependencyScope.RUNTIME, DependencyScope.PROVIDED, DependencyScope.TEST "jvm-lib2",
) DependencyScope.COMPILE, DependencyScope.RUNTIME, DependencyScope.PROVIDED, DependencyScope.TEST
assertModuleModuleDepScope( )
"jvm-app", } else {
"jvm-lib1", assertModuleModuleDepScope(
DependencyScope.COMPILE, DependencyScope.RUNTIME, DependencyScope.PROVIDED, DependencyScope.TEST "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-lib1", DependencyScope.COMPILE)
assertModuleModuleDepScope("jvm-app", "common-lib2",DependencyScope.COMPILE) assertModuleModuleDepScope("jvm-app", "common-lib2",DependencyScope.COMPILE)
} }
@@ -142,22 +180,40 @@ class MultiplatformProjectImportingTest : GradleImportingTestCase() {
assertModuleModuleDepScope("project2", "project1", DependencyScope.COMPILE) assertModuleModuleDepScope("project2", "project1", DependencyScope.COMPILE)
assertModuleModuleDepScope( if (legacyMode()) {
"project3", assertModuleModuleDepScope(
"project2", "project3",
DependencyScope.COMPILE, DependencyScope.RUNTIME, DependencyScope.PROVIDED, DependencyScope.TEST "project2",
) DependencyScope.COMPILE, DependencyScope.RUNTIME, DependencyScope.PROVIDED, DependencyScope.TEST
)
} else {
assertModuleModuleDepScope(
"project3",
"project2",
DependencyScope.COMPILE
)
}
assertModuleModuleDepScope("project3", "project1", DependencyScope.COMPILE) assertModuleModuleDepScope("project3", "project1", DependencyScope.COMPILE)
currentExternalProjectSettings.isResolveModulePerSourceSet = false currentExternalProjectSettings.isResolveModulePerSourceSet = false
importProject() importProject()
assertModuleModuleDepScope("project2", "project1", DependencyScope.COMPILE) assertModuleModuleDepScope("project2", "project1", DependencyScope.COMPILE)
assertModuleModuleDepScope( if (legacyMode()) {
"project3", assertModuleModuleDepScope(
"project2", "project3",
DependencyScope.COMPILE, DependencyScope.RUNTIME, DependencyScope.PROVIDED, DependencyScope.TEST "project2",
) DependencyScope.COMPILE, DependencyScope.RUNTIME, DependencyScope.PROVIDED, DependencyScope.TEST
)
} else {
assertModuleModuleDepScope(
"project3",
"project2",
DependencyScope.COMPILE
)
}
assertModuleModuleDepScope("project3", "project1", DependencyScope.COMPILE) assertModuleModuleDepScope("project3", "project1", DependencyScope.COMPILE)
} finally { } finally {
currentExternalProjectSettings.isResolveModulePerSourceSet = isResolveModulePerSourceSet currentExternalProjectSettings.isResolveModulePerSourceSet = isResolveModulePerSourceSet
@@ -272,7 +328,7 @@ class MultiplatformProjectImportingTest : GradleImportingTestCase() {
importProject() importProject()
TestCase.assertEquals( 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) PathUtil.toSystemIndependentName(KotlinFacet.get(getModule("project2"))!!.configuration.settings.testOutputPath)
) )
} }
@@ -283,7 +339,7 @@ class MultiplatformProjectImportingTest : GradleImportingTestCase() {
importProject() importProject()
TestCase.assertEquals( 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) PathUtil.toSystemIndependentName(KotlinFacet.get(getModule("project2"))!!.configuration.settings.productionOutputPath)
) )
} }
@@ -300,7 +356,7 @@ class MultiplatformProjectImportingTest : GradleImportingTestCase() {
importProject() importProject()
TestCase.assertEquals( 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) PathUtil.toSystemIndependentName(KotlinFacet.get(getModule("project2"))!!.configuration.settings.testOutputPath)
) )
} }