# HG changeset patch # User Dmitry Neverov # Date 1352740544 -14400 # Node ID 94974e3482f6af449c48bcb03bf20f41bfb658b1 # Parent 892f95a0f82deb35e7ea4b36b8a31c1766a016a2 TW-24405 create unique temp dirs diff -r 892f95a0f82d -r 94974e3482f6 mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/HgFileUtil.java --- a/mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/HgFileUtil.java Fri Nov 09 14:55:58 2012 +0400 +++ b/mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/HgFileUtil.java Mon Nov 12 21:15:44 2012 +0400 @@ -30,7 +30,7 @@ do { suffix++; dir = new File(parentDir, TEMP_DIR_PREFIX + suffix); - } while (!dir.exists() && !dir.createNewFile()); + } while (dir.exists() || !dir.createNewFile()); dir.delete(); dir.mkdir(); return dir; diff -r 892f95a0f82d -r 94974e3482f6 mercurial-tests/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/HgFileUtilTest.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mercurial-tests/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/HgFileUtilTest.java Mon Nov 12 21:15:44 2012 +0400 @@ -0,0 +1,20 @@ +package jetbrains.buildServer.buildTriggers.vcs.mercurial; + + +import org.testng.annotations.Test; + +import java.io.File; +import java.io.IOException; + +import static org.testng.AssertJUnit.assertFalse; + +@Test +public class HgFileUtilTest { + + public void createTempFile_should_return_unique_dir() throws IOException { + File tmpDir1 = HgFileUtil.createTempDir(); + File tmpDir2 = HgFileUtil.createTempDir(); + assertFalse(tmpDir1.getCanonicalPath().equals(tmpDir2.getCanonicalPath())); + } + +} diff -r 892f95a0f82d -r 94974e3482f6 mercurial-tests/src/testng.xml --- a/mercurial-tests/src/testng.xml Fri Nov 09 14:55:58 2012 +0400 +++ b/mercurial-tests/src/testng.xml Mon Nov 12 21:15:44 2012 +0400 @@ -25,6 +25,7 @@ +