Mercurial > hg > mercurial
changeset 629:376e35ed7801 Gaya-8.0.x
finally workaround windows createNewFile bug
author | Dmitry Neverov <dmitry.neverov@jetbrains.com> |
---|---|
date | Thu, 01 Aug 2013 17:36:32 +0400 |
parents | eadc7e5c2236 |
children | 176552952302 6ed9e0528564 |
files | mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/HgFileUtil.java mercurial-tests/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/HgFileUtilTest.java |
diffstat | 2 files changed, 3 insertions(+), 11 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/HgFileUtil.java Thu Aug 01 15:14:04 2013 +0400 +++ b/mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/HgFileUtil.java Thu Aug 01 17:36:32 2013 +0400 @@ -42,18 +42,13 @@ continue; synchronized (getTmpDirLock(tmpDirName)) { - //windows throws an exception (access denied) when one tries to create - //a file and there is a dir with a same name (http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6325169) - if (dir.exists()) - continue; try { if (!dir.createNewFile()) continue; } catch (IOException e) { - //one more workaround for http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6325169 - if (SystemInfo.isWindows && "Access is denied".equals(e.getMessage()) && dir.exists()) { + //workaround for http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6325169 + if (SystemInfo.isWindows && "Access is denied".equals(e.getMessage())) continue; - } throw e; } if (!dir.delete())
--- a/mercurial-tests/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/HgFileUtilTest.java Thu Aug 01 15:14:04 2013 +0400 +++ b/mercurial-tests/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/HgFileUtilTest.java Thu Aug 01 17:36:32 2013 +0400 @@ -1,6 +1,7 @@ package jetbrains.buildServer.buildTriggers.vcs.mercurial; +import jetbrains.buildServer.util.FileUtil; import jetbrains.buildServer.util.TestFor; import org.testng.annotations.Test; @@ -28,9 +29,6 @@ @TestFor(issues = "TW-30589") public void createTempFile_should_always_return_unique_dir() throws Exception { - if (SystemInfo.isWindows) //disable test on windows due to "access is denied" errors - return; - final CountDownLatch allThreadsInitialized = new CountDownLatch(1); final Set<File> tmpFiles = new HashSet<File>(); Runnable createTmpFile = new Runnable() { @@ -59,5 +57,4 @@ assertEquals("Race condition in createTempDir", threads.size(), tmpFiles.size()); } - }