diff --git a/compiler/tests/org/jetbrains/jet/JetTestUtils.java b/compiler/tests/org/jetbrains/jet/JetTestUtils.java index 8ec4ac13b07..de3f1a108f7 100644 --- a/compiler/tests/org/jetbrains/jet/JetTestUtils.java +++ b/compiler/tests/org/jetbrains/jet/JetTestUtils.java @@ -165,31 +165,16 @@ public class JetTestUtils { } } - public static void rmrf(File file) { - if (file != null) { - FileUtil.delete(file); - } + public static File tmpDirForTest(TestCase test) throws IOException { + File answer = FileUtil.createTempDirectory(test.getClass().getSimpleName(), test.getName()); + deleteOnShutdown(answer); + return answer; } - public static File tmpRoot() { - return new File("tmp"); - } - - public static File tmpDirForTest(TestCase test) { - return new File(tmpRoot(), test.getClass().getSimpleName() + "/" + test.getName()); - } - - public static File tmpDirForTest(Class clazz) { - return tmpDirForTest(clazz.getSimpleName()); - } - - public static File tmpDirForTest(String name) { - return new File(tmpRoot(), name); - } - - public static void recreateDirectory(File file) throws IOException { - rmrf(file); - mkdirs(file); + public static File tmpDir(String name) throws IOException { + File answer = FileUtil.createTempDirectory(name, ""); + deleteOnShutdown(answer); + return answer; } public static void deleteOnShutdown(File file) { diff --git a/compiler/tests/org/jetbrains/jet/codegen/ForTestCompileStdlib.java b/compiler/tests/org/jetbrains/jet/codegen/ForTestCompileStdlib.java index 5d2503916d6..2a80b80bdc1 100644 --- a/compiler/tests/org/jetbrains/jet/codegen/ForTestCompileStdlib.java +++ b/compiler/tests/org/jetbrains/jet/codegen/ForTestCompileStdlib.java @@ -30,8 +30,7 @@ public class ForTestCompileStdlib { private static File stdlibJarFile; private static File doCompile() throws Exception { - File tmpDir = FileUtil.createTempDirectory("stdlibjar", ""); - JetTestUtils.deleteOnShutdown(tmpDir); + File tmpDir = JetTestUtils.tmpDir("stdlibjar"); File jarFile = new File(tmpDir, "stdlib.jar"); @@ -119,7 +118,7 @@ public class ForTestCompileStdlib { public static File stdlibJarForTests() { synchronized (ForTestCompileStdlib.class) { - if (stdlibJarFile == null) { + if (stdlibJarFile == null || !stdlibJarFile.exists()) { try { stdlibJarFile = doCompile(); } catch (Exception e) { diff --git a/compiler/tests/org/jetbrains/jet/compiler/CompileEnvironmentTest.java b/compiler/tests/org/jetbrains/jet/compiler/CompileEnvironmentTest.java index b1054ea97a3..0187f2f8278 100644 --- a/compiler/tests/org/jetbrains/jet/compiler/CompileEnvironmentTest.java +++ b/compiler/tests/org/jetbrains/jet/compiler/CompileEnvironmentTest.java @@ -66,8 +66,7 @@ public class CompileEnvironmentTest extends TestCase { File tempDir = FileUtil.createTempDirectory("compilerTest", "compilerTest"); try { File out = new File(tempDir, "out"); - File stdlib = new File(tempDir, "stdlib.jar"); - FileUtil.copy(ForTestCompileStdlib.stdlibJarForTests(), stdlib); + File stdlib = ForTestCompileStdlib.stdlibJarForTests(); KotlinCompiler.exec("-src", JetParsingTest.getTestDataDir() + "/compiler/smoke/Smoke.kt", "-output", out.getAbsolutePath(), "-stdlib", stdlib.getAbsolutePath()); diff --git a/compiler/tests/org/jetbrains/jet/compiler/TestCaseWithTmpdir.java b/compiler/tests/org/jetbrains/jet/compiler/TestCaseWithTmpdir.java index fc503564e16..79636b4fc12 100644 --- a/compiler/tests/org/jetbrains/jet/compiler/TestCaseWithTmpdir.java +++ b/compiler/tests/org/jetbrains/jet/compiler/TestCaseWithTmpdir.java @@ -16,7 +16,6 @@ public abstract class TestCaseWithTmpdir extends UsefulTestCase { protected void setUp() throws Exception { super.setUp(); tmpdir = JetTestUtils.tmpDirForTest(this); - JetTestUtils.recreateDirectory(tmpdir); } }