Use short temp dirs names only in gradle integration tests

This commit is contained in:
Alexey Tsvetkov
2019-07-30 17:45:54 +03:00
parent 1a0c6fe8b8
commit 4db3dcc28f
2 changed files with 14 additions and 10 deletions
+8 -7
View File
@@ -31,7 +31,12 @@ import java.lang.Character.isUpperCase
import java.nio.file.Files
import java.nio.file.Path
fun Project.projectTest(taskName: String = "test", parallel: Boolean = false, body: Test.() -> Unit = {}): Test = getOrCreateTask(taskName) {
fun Project.projectTest(
taskName: String = "test",
parallel: Boolean = false,
shortenTempRootName: Boolean = false,
body: Test.() -> Unit = {}
): Test = getOrCreateTask(taskName) {
doFirst {
val commandLineIncludePatterns = (filter as? DefaultTestFilter)?.commandLineIncludePatterns ?: emptySet()
val patterns = filter.includePatterns + commandLineIncludePatterns
@@ -110,12 +115,8 @@ fun Project.projectTest(taskName: String = "test", parallel: Boolean = false, bo
(teamcity?.get("teamcity.build.tempDir") as? String)
?: System.getProperty("java.io.tmpdir")
systemTempRoot.let {
subProjectTempRoot = if (System.getProperty("os.name")!!.contains("Windows")) {
// Aapt2 from Android Gradle Plugin 3.2 and below does not handle long paths on Windows.
Files.createTempDirectory(File(systemTempRoot).toPath(), "")
} else {
Files.createTempDirectory(File(systemTempRoot).toPath(), project.name + "Project_" + taskName + "_")
}
val prefix = (project.name + "Project_" + taskName + "_").takeUnless { shortenTempRootName }
subProjectTempRoot = Files.createTempDirectory(File(systemTempRoot).toPath(), prefix)
systemProperty("java.io.tmpdir", subProjectTempRoot.toString())
}
}
@@ -44,10 +44,13 @@ dependencies {
testCompileOnly(project(":kotlin-test:kotlin-test-common")) { isTransitive = false }
}
// additional configuration in tasks.withType<Test> below
projectTest("test") {}
// Aapt2 from Android Gradle Plugin 3.2 and below does not handle long paths on Windows.
val shortenTempRootName = System.getProperty("os.name")!!.contains("Windows")
projectTest("testAdvanceGradleVersion") {
// additional configuration in tasks.withType<Test> below
projectTest("test", shortenTempRootName = shortenTempRootName) {}
projectTest("testAdvanceGradleVersion", shortenTempRootName = shortenTempRootName) {
val gradleVersionForTests = "5.3-rc-2"
systemProperty("kotlin.gradle.version.for.tests", gradleVersionForTests)
}