From 38849b7be4d698034b78345794efb193e5637b5e Mon Sep 17 00:00:00 2001 From: Yahor Berdnikau Date: Fri, 8 Oct 2021 19:40:09 +0200 Subject: [PATCH] Add helper to create temp directory. This directory will be cleaned up on successful test, but will be left on test error. ^KT-45745 In Progress --- .../org/jetbrains/kotlin/gradle/testbase/pathHelpers.kt | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/testbase/pathHelpers.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/testbase/pathHelpers.kt index 9d8af3816da..a7730ed6384 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/testbase/pathHelpers.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/testbase/pathHelpers.kt @@ -18,3 +18,12 @@ internal fun Path.findInPath(name: String): Path? = Files .walk(this) .asSequence() .find { it.fileName.toString() == name } + +/** + * Create a temporary directory that will be cleaned up on normal JVM termination, but will be left on non-zero exit status. + * + * Prefer using JUnit5 `@TempDir` over this method when possible. + */ +internal fun createTempDir(prefix: String): Path = Files + .createTempDirectory(prefix) + .apply { toFile().deleteOnExit() }