From 8b5730a0e32d5707b6ac6df5fb0906b7981853eb Mon Sep 17 00:00:00 2001 From: Florian Zschocke Date: Tue, 20 Aug 2013 21:20:17 +0200 Subject: Fix setting wrrong custom mode on file and in config. --- src/test/java/com/gitblit/tests/JGitUtilsTest.java | 36 ++++++++++++++++++++++ 1 file changed, 36 insertions(+) (limited to 'src/test/java') diff --git a/src/test/java/com/gitblit/tests/JGitUtilsTest.java b/src/test/java/com/gitblit/tests/JGitUtilsTest.java index f18c05f8..cdf698d6 100644 --- a/src/test/java/com/gitblit/tests/JGitUtilsTest.java +++ b/src/test/java/com/gitblit/tests/JGitUtilsTest.java @@ -182,6 +182,42 @@ public class JGitUtilsTest { } } + @Test + public void testCreateRepositorySharedCustom() throws Exception { + String[] repositories = { "NewSharedTestRepository.git" }; + for (String repositoryName : repositories) { + Repository repository = JGitUtils.createRepository(GitBlitSuite.REPOSITORIES, + repositoryName, "660"); + File folder = FileKey.resolve(new File(GitBlitSuite.REPOSITORIES, repositoryName), + FS.DETECTED); + assertNotNull(repository); + assertFalse(JGitUtils.hasCommits(repository)); + assertNull(JGitUtils.getFirstCommit(repository, null)); + + assertEquals("0660", repository.getConfig().getString("core", null, "sharedRepository")); + + assertTrue(folder.exists()); + if (! JnaUtils.isWindows()) { + int mode = JnaUtils.getFilemode(folder); + assertEquals(JnaUtils.S_ISGID, mode & JnaUtils.S_ISGID); + assertEquals(JnaUtils.S_IRWXG, mode & JnaUtils.S_IRWXG); + assertEquals(0, mode & JnaUtils.S_IRWXO); + + mode = JnaUtils.getFilemode(folder.getAbsolutePath() + "/HEAD"); + assertEquals(JnaUtils.S_IRGRP | JnaUtils.S_IWGRP, mode & JnaUtils.S_IRWXG); + assertEquals(0, mode & JnaUtils.S_IRWXO); + + mode = JnaUtils.getFilemode(folder.getAbsolutePath() + "/config"); + assertEquals(JnaUtils.S_IRGRP | JnaUtils.S_IWGRP, mode & JnaUtils.S_IRWXG); + assertEquals(0, mode & JnaUtils.S_IRWXO); + } + + repository.close(); + RepositoryCache.close(repository); + FileUtils.delete(repository.getDirectory(), FileUtils.RECURSIVE); + } + } + @Test public void testRefs() throws Exception { Repository repository = GitBlitSuite.getJGitRepository(); -- cgit v1.2.3