Temp directories, which reside under project root replaced with java.io.tmpdir based ones.

This commit is contained in:
Maxim Shafirov
2012-01-25 15:51:00 +04:00
parent 9d8abdac0c
commit 20920f0a0b
4 changed files with 11 additions and 29 deletions
@@ -165,31 +165,16 @@ public class JetTestUtils {
} }
} }
public static void rmrf(File file) { public static File tmpDirForTest(TestCase test) throws IOException {
if (file != null) { File answer = FileUtil.createTempDirectory(test.getClass().getSimpleName(), test.getName());
FileUtil.delete(file); deleteOnShutdown(answer);
} return answer;
} }
public static File tmpRoot() { public static File tmpDir(String name) throws IOException {
return new File("tmp"); File answer = FileUtil.createTempDirectory(name, "");
} deleteOnShutdown(answer);
return answer;
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 void deleteOnShutdown(File file) { public static void deleteOnShutdown(File file) {
@@ -30,8 +30,7 @@ public class ForTestCompileStdlib {
private static File stdlibJarFile; private static File stdlibJarFile;
private static File doCompile() throws Exception { private static File doCompile() throws Exception {
File tmpDir = FileUtil.createTempDirectory("stdlibjar", ""); File tmpDir = JetTestUtils.tmpDir("stdlibjar");
JetTestUtils.deleteOnShutdown(tmpDir);
File jarFile = new File(tmpDir, "stdlib.jar"); File jarFile = new File(tmpDir, "stdlib.jar");
@@ -119,7 +118,7 @@ public class ForTestCompileStdlib {
public static File stdlibJarForTests() { public static File stdlibJarForTests() {
synchronized (ForTestCompileStdlib.class) { synchronized (ForTestCompileStdlib.class) {
if (stdlibJarFile == null) { if (stdlibJarFile == null || !stdlibJarFile.exists()) {
try { try {
stdlibJarFile = doCompile(); stdlibJarFile = doCompile();
} catch (Exception e) { } catch (Exception e) {
@@ -66,8 +66,7 @@ public class CompileEnvironmentTest extends TestCase {
File tempDir = FileUtil.createTempDirectory("compilerTest", "compilerTest"); File tempDir = FileUtil.createTempDirectory("compilerTest", "compilerTest");
try { try {
File out = new File(tempDir, "out"); File out = new File(tempDir, "out");
File stdlib = new File(tempDir, "stdlib.jar"); File stdlib = ForTestCompileStdlib.stdlibJarForTests();
FileUtil.copy(ForTestCompileStdlib.stdlibJarForTests(), stdlib);
KotlinCompiler.exec("-src", JetParsingTest.getTestDataDir() + "/compiler/smoke/Smoke.kt", KotlinCompiler.exec("-src", JetParsingTest.getTestDataDir() + "/compiler/smoke/Smoke.kt",
"-output", out.getAbsolutePath(), "-output", out.getAbsolutePath(),
"-stdlib", stdlib.getAbsolutePath()); "-stdlib", stdlib.getAbsolutePath());
@@ -16,7 +16,6 @@ public abstract class TestCaseWithTmpdir extends UsefulTestCase {
protected void setUp() throws Exception { protected void setUp() throws Exception {
super.setUp(); super.setUp();
tmpdir = JetTestUtils.tmpDirForTest(this); tmpdir = JetTestUtils.tmpDirForTest(this);
JetTestUtils.recreateDirectory(tmpdir);
} }
} }