From 9c21c71c63234e7dc7d151c8ad92c76a9f0d2ea1 Mon Sep 17 00:00:00 2001 From: Mikhael Bogdanov Date: Tue, 26 Mar 2019 15:30:42 +0100 Subject: [PATCH] Fix IDE related test problems after adding ability to run test in parallel in compiler configuration --- .../jetbrains/kotlin/test/KotlinTestUtils.java | 4 +--- .../kotlin/test/KotlinTestUtils.java.as32 | 16 +--------------- .../script/AbstractScriptConfigurationTest.kt | 3 ++- .../kotlin/js/test/interop/ScriptEngineV8.kt | 9 ++------- 4 files changed, 6 insertions(+), 26 deletions(-) diff --git a/compiler/tests-common/tests/org/jetbrains/kotlin/test/KotlinTestUtils.java b/compiler/tests-common/tests/org/jetbrains/kotlin/test/KotlinTestUtils.java index 9fc5de0b3ab..c28b0166342 100644 --- a/compiler/tests-common/tests/org/jetbrains/kotlin/test/KotlinTestUtils.java +++ b/compiler/tests-common/tests/org/jetbrains/kotlin/test/KotlinTestUtils.java @@ -428,9 +428,7 @@ public class KotlinTestUtils { @NotNull public static File tmpDirForReusableLibrary(String name) throws IOException { - File answer = normalizeFile(FileUtil.createTempDirectory(new File(System.getProperty("java.io.tmpdir")), name, "")); - deleteOnShutdown(answer); - return answer; + return normalizeFile(FileUtil.createTempDirectory(new File(System.getProperty("java.io.tmpdir")), name, "", true)); } private static File normalizeFile(File file) throws IOException { diff --git a/compiler/tests-common/tests/org/jetbrains/kotlin/test/KotlinTestUtils.java.as32 b/compiler/tests-common/tests/org/jetbrains/kotlin/test/KotlinTestUtils.java.as32 index 6abfe316996..c53a2fc69b1 100644 --- a/compiler/tests-common/tests/org/jetbrains/kotlin/test/KotlinTestUtils.java.as32 +++ b/compiler/tests-common/tests/org/jetbrains/kotlin/test/KotlinTestUtils.java.as32 @@ -425,9 +425,7 @@ public class KotlinTestUtils { @NotNull public static File tmpDirForReusableLibrary(String name) throws IOException { - File answer = normalizeFile(FileUtil.createTempDirectory(new File(System.getProperty("java.io.tmpdir")), name, "")); - deleteOnShutdown(answer); - return answer; + return normalizeFile(FileUtil.createTempDirectory(new File(System.getProperty("java.io.tmpdir")), name, "", true)); } private static File normalizeFile(File file) throws IOException { @@ -437,18 +435,6 @@ public class KotlinTestUtils { return file.getCanonicalFile(); } - private static void deleteOnShutdown(File file) { - if (filesToDelete.isEmpty()) { - ShutDownTracker.getInstance().registerShutdownTask(() -> { - for (File victim : filesToDelete) { - FileUtil.delete(victim); - } - }); - } - - filesToDelete.add(file); - } - @NotNull public static KtFile createFile(@NotNull @NonNls String name, @NotNull String text, @NotNull Project project) { String shortName = name.substring(name.lastIndexOf('/') + 1); diff --git a/idea/tests/org/jetbrains/kotlin/idea/script/AbstractScriptConfigurationTest.kt b/idea/tests/org/jetbrains/kotlin/idea/script/AbstractScriptConfigurationTest.kt index 52e0456575a..e76a5965bdc 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/script/AbstractScriptConfigurationTest.kt +++ b/idea/tests/org/jetbrains/kotlin/idea/script/AbstractScriptConfigurationTest.kt @@ -331,7 +331,8 @@ abstract class AbstractScriptConfigurationTest : KotlinCompletionTestCase() { } private fun compileLibToDir(srcDir: File, vararg classpath: String): File { - val outDir = KotlinTestUtils.tmpDir("${getTestName(false)}${srcDir.name}Out") + //TODO: tmpDir would be enough, but there is tricky fail under AS otherwise + val outDir = KotlinTestUtils.tmpDirForReusableLibrary("${getTestName(false)}${srcDir.name}Out") val kotlinSourceFiles = FileUtil.findFilesByMask(Pattern.compile(".+\\.kt$"), srcDir) if (kotlinSourceFiles.isNotEmpty()) { diff --git a/js/js.tests/test/org/jetbrains/kotlin/js/test/interop/ScriptEngineV8.kt b/js/js.tests/test/org/jetbrains/kotlin/js/test/interop/ScriptEngineV8.kt index 2cf8acb8419..f933497dd88 100644 --- a/js/js.tests/test/org/jetbrains/kotlin/js/test/interop/ScriptEngineV8.kt +++ b/js/js.tests/test/org/jetbrains/kotlin/js/test/interop/ScriptEngineV8.kt @@ -9,18 +9,13 @@ import com.eclipsesource.v8.V8 import com.eclipsesource.v8.V8Array import com.eclipsesource.v8.V8Object import com.eclipsesource.v8.utils.V8ObjectUtils -import com.intellij.openapi.util.io.FileUtil +import org.jetbrains.kotlin.test.KotlinTestUtils import java.io.File class ScriptEngineV8 : ScriptEngine { companion object { // It's important that this is not created per test, but rather per process. - val LIBRARY_PATH_BASE = FileUtil.createTempDirectory( - File(System.getProperty("java.io.tmpdir")), - "j2v8_library_path", - "", - true - ).path + val LIBRARY_PATH_BASE = KotlinTestUtils.tmpDirForReusableLibrary("j2v8_library_path").path } override fun releaseObject(t: T) {