From 35677f47275c6b8fb3ff02d5e47161a254a99e64 Mon Sep 17 00:00:00 2001 From: Yahor Berdnikau Date: Thu, 17 Jun 2021 11:47:57 +0200 Subject: [PATCH] Add random hash to the tempDir project dir. This will allow to create several similar projects from one resource project in a single test. ^KT-45745 In Progress --- .../org/jetbrains/kotlin/gradle/testbase/testDsl.kt | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/testbase/testDsl.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/testbase/testDsl.kt index a8a408d9337..b759305bcab 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/testbase/testDsl.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/testbase/testDsl.kt @@ -165,6 +165,11 @@ private fun TestProject.withBuildSummary( */ private val testKitDir get() = Paths.get(".").resolve(".testKitDir") +private val hashAlphabet: List = ('a'..'z') + ('A'..'Z') + ('0'..'9') +private fun randomHash(length: Int = 15): String { + return List(length) { hashAlphabet.random() }.joinToString("") +} + private fun setupProjectFromTestResources( projectName: String, gradleVersion: GradleVersion, @@ -176,8 +181,9 @@ private fun setupProjectFromTestResources( assertTrue("Test project path is a directory") { Files.isDirectory(testProjectPath) } return tempDir - .resolve(projectName) .resolve(gradleVersion.version) + .resolve(randomHash()) + .resolve(projectName) .resolve(optionalSubDir) .also { testProjectPath.copyRecursively(it)