package jetbrains.mps.baseLanguage.unitTest.execution.settings; /*Generated by MPS */ import java.io.File; import jetbrains.mps.util.FileUtil; import jetbrains.mps.baseLanguage.unitTest.execution.client.RunCachesManager; public class DefaultCachesPathChooser { private static final String BASE_NAME = "mps_test_dir"; public String chooseDir() { File tmpDir = FileUtil.getTempDir(); for (int i = 0; i < 1000; ++i) { String dirName = BASE_NAME + i; File newTestDir = new File(tmpDir.getAbsolutePath(), dirName); if (checkDir(newTestDir)) { return newTestDir.getAbsolutePath(); } } throw new IllegalStateException("Cannot find directory to write in"); } private boolean checkDir(File dir) { return FileUtil.canWrite(dir) && !(RunCachesManager.isLocked(dir.getAbsolutePath())); } }