]> source.dussan.org Git - gitblit.git/commitdiff
Adjust unit tests for Windows.
authorFlorian Zschocke <florian.zschocke@cycos.com>
Tue, 20 Aug 2013 17:42:17 +0000 (19:42 +0200)
committerFlorian Zschocke <florian.zschocke@cycos.com>
Mon, 26 Aug 2013 10:39:57 +0000 (12:39 +0200)
src/test/java/com/gitblit/tests/JGitUtilsTest.java
src/test/java/com/gitblit/tests/JnaUtilsTest.java

index 6f86b9f7e40dbf8908be573f6f1f1e4806d41632..f18c05f8c008e279774728d38f4cba770ac0bc5f 100644 (file)
@@ -161,16 +161,20 @@ public class JGitUtilsTest {
                        assertFalse(JGitUtils.hasCommits(repository));\r
                        assertNull(JGitUtils.getFirstCommit(repository, null));\r
 \r
+                       assertEquals("1", repository.getConfig().getString("core", null, "sharedRepository"));\r
+\r
                        assertTrue(folder.exists());\r
-                       int mode = JnaUtils.getFilemode(folder);\r
-                       assertEquals(JnaUtils.S_ISGID, mode & JnaUtils.S_ISGID);\r
-                       assertEquals(JnaUtils.S_IRWXG, mode & JnaUtils.S_IRWXG);\r
+                       if (! JnaUtils.isWindows()) {\r
+                               int mode = JnaUtils.getFilemode(folder);\r
+                               assertEquals(JnaUtils.S_ISGID, mode & JnaUtils.S_ISGID);\r
+                               assertEquals(JnaUtils.S_IRWXG, mode & JnaUtils.S_IRWXG);\r
 \r
-                       mode = JnaUtils.getFilemode(folder.getAbsolutePath() + "/HEAD");\r
-                       assertEquals(JnaUtils.S_IRGRP | JnaUtils.S_IWGRP, mode & JnaUtils.S_IRWXG);\r
+                               mode = JnaUtils.getFilemode(folder.getAbsolutePath() + "/HEAD");\r
+                               assertEquals(JnaUtils.S_IRGRP | JnaUtils.S_IWGRP, mode & JnaUtils.S_IRWXG);\r
 \r
-                       mode = JnaUtils.getFilemode(folder.getAbsolutePath() + "/config");\r
-                       assertEquals(JnaUtils.S_IRGRP | JnaUtils.S_IWGRP, mode & JnaUtils.S_IRWXG);\r
+                               mode = JnaUtils.getFilemode(folder.getAbsolutePath() + "/config");\r
+                               assertEquals(JnaUtils.S_IRGRP | JnaUtils.S_IWGRP, mode & JnaUtils.S_IRWXG);\r
+                       }\r
 \r
                        repository.close();\r
                        RepositoryCache.close(repository);\r
index 574686ba304e93c7596d027cf2567ef79835ad4b..2430b6eaffc75ecfe94c501bbfa7cebb74d94fe9 100644 (file)
@@ -37,64 +37,78 @@ public class JnaUtilsTest {
 
        @Test
        public void testGetFilemode() throws IOException {
-               String repositoryName = "NewJnaTestRepository.git";
-               Repository repository = JGitUtils.createRepository(GitBlitSuite.REPOSITORIES, repositoryName);
-               File folder = FileKey.resolve(new File(GitBlitSuite.REPOSITORIES, repositoryName), FS.DETECTED);
-               assertTrue(folder.exists());
+               if (JnaUtils.isWindows()) {
+                       try {
+                               JnaUtils.getFilemode(GitBlitSuite.REPOSITORIES);
+                       } catch(UnsupportedOperationException e) {}
+               }
+               else {
+                       String repositoryName = "NewJnaTestRepository.git";
+                       Repository repository = JGitUtils.createRepository(GitBlitSuite.REPOSITORIES, repositoryName);
+                       File folder = FileKey.resolve(new File(GitBlitSuite.REPOSITORIES, repositoryName), FS.DETECTED);
+                       assertTrue(folder.exists());
 
-               int mode = JnaUtils.getFilemode(folder);
-               assertTrue(mode > 0);
-               assertEquals(JnaUtils.S_IFDIR, (mode & JnaUtils.S_IFMT)); // directory
-               assertEquals(JnaUtils.S_IRUSR | JnaUtils.S_IWUSR | JnaUtils.S_IXUSR, (mode & JnaUtils.S_IRWXU)); // owner full access
+                       int mode = JnaUtils.getFilemode(folder);
+                       assertTrue(mode > 0);
+                       assertEquals(JnaUtils.S_IFDIR, (mode & JnaUtils.S_IFMT)); // directory
+                       assertEquals(JnaUtils.S_IRUSR | JnaUtils.S_IWUSR | JnaUtils.S_IXUSR, (mode & JnaUtils.S_IRWXU)); // owner full access
 
-               mode = JnaUtils.getFilemode(folder.getAbsolutePath() + "/config");
-               assertTrue(mode > 0);
-               assertEquals(JnaUtils.S_IFREG, (mode & JnaUtils.S_IFMT)); // directory
-               assertEquals(JnaUtils.S_IRUSR | JnaUtils.S_IWUSR, (mode & JnaUtils.S_IRWXU)); // owner full access
+                       mode = JnaUtils.getFilemode(folder.getAbsolutePath() + "/config");
+                       assertTrue(mode > 0);
+                       assertEquals(JnaUtils.S_IFREG, (mode & JnaUtils.S_IFMT)); // directory
+                       assertEquals(JnaUtils.S_IRUSR | JnaUtils.S_IWUSR, (mode & JnaUtils.S_IRWXU)); // owner full access
 
-               repository.close();
-               RepositoryCache.close(repository);
-               FileUtils.deleteDirectory(repository.getDirectory());
+                       repository.close();
+                       RepositoryCache.close(repository);
+                       FileUtils.deleteDirectory(repository.getDirectory());
+                       }
        }
 
 
        @Test
        public void testSetFilemode() throws IOException {
-               String repositoryName = "NewJnaTestRepository.git";
-               Repository repository = JGitUtils.createRepository(GitBlitSuite.REPOSITORIES, repositoryName);
-               File folder = FileKey.resolve(new File(GitBlitSuite.REPOSITORIES, repositoryName), FS.DETECTED);
-               assertTrue(folder.exists());
+               if (JnaUtils.isWindows()) {
+                       try {
+                               JnaUtils.getFilemode(GitBlitSuite.REPOSITORIES);
+                       } catch(UnsupportedOperationException e) {}
+               }
+               else {
+                       String repositoryName = "NewJnaTestRepository.git";
+                       Repository repository = JGitUtils.createRepository(GitBlitSuite.REPOSITORIES, repositoryName);
+                       File folder = FileKey.resolve(new File(GitBlitSuite.REPOSITORIES, repositoryName), FS.DETECTED);
+                       assertTrue(folder.exists());
 
-               File path = new File(folder, "refs");
-               int mode = JnaUtils.getFilemode(path);
-               assertTrue(mode > 0);
-               assertEquals(JnaUtils.S_IFDIR, (mode & JnaUtils.S_IFMT)); // directory
-               assertEquals(JnaUtils.S_IRUSR | JnaUtils.S_IWUSR | JnaUtils.S_IXUSR, (mode & JnaUtils.S_IRWXU)); // owner full access
+                       File path = new File(folder, "refs");
+                       int mode = JnaUtils.getFilemode(path);
+                       assertTrue(mode > 0);
+                       assertEquals(JnaUtils.S_IFDIR, (mode & JnaUtils.S_IFMT)); // directory
+                       assertEquals(JnaUtils.S_IRUSR | JnaUtils.S_IWUSR | JnaUtils.S_IXUSR, (mode & JnaUtils.S_IRWXU)); // owner full access
 
-               mode |= JnaUtils.S_ISGID;
-               mode |= JnaUtils.S_IRWXG;
-               int ret = JnaUtils.setFilemode(path, mode);
-               assertEquals(0, ret);
-               mode = JnaUtils.getFilemode(path);
-               assertTrue(mode > 0);
-               assertEquals(JnaUtils.S_ISGID, (mode & JnaUtils.S_ISGID)); // set-gid-bit set
-               assertEquals(JnaUtils.S_IRGRP | JnaUtils.S_IWGRP | JnaUtils.S_IXGRP, (mode & JnaUtils.S_IRWXG)); // group full access
+                       mode |= JnaUtils.S_ISGID;
+                       mode |= JnaUtils.S_IRWXG;
+                       int ret = JnaUtils.setFilemode(path, mode);
+                       assertEquals(0, ret);
+                       mode = JnaUtils.getFilemode(path);
+                       assertTrue(mode > 0);
+                       assertEquals(JnaUtils.S_ISGID, (mode & JnaUtils.S_ISGID)); // set-gid-bit set
+                       assertEquals(JnaUtils.S_IRGRP | JnaUtils.S_IWGRP | JnaUtils.S_IXGRP, (mode & JnaUtils.S_IRWXG)); // group full access
 
-               path = new File(folder, "config");
-               mode = JnaUtils.getFilemode(path.getAbsolutePath());
-               assertTrue(mode > 0);
-               assertEquals(JnaUtils.S_IFREG, (mode & JnaUtils.S_IFMT)); // directory
-               assertEquals(JnaUtils.S_IRUSR | JnaUtils.S_IWUSR, (mode & JnaUtils.S_IRWXU)); // owner full access
+                       path = new File(folder, "config");
+                       mode = JnaUtils.getFilemode(path.getAbsolutePath());
+                       assertTrue(mode > 0);
+                       assertEquals(JnaUtils.S_IFREG, (mode & JnaUtils.S_IFMT)); // directory
+                       assertEquals(JnaUtils.S_IRUSR | JnaUtils.S_IWUSR, (mode & JnaUtils.S_IRWXU)); // owner full access
 
-               mode |= (JnaUtils.S_IRGRP | JnaUtils.S_IWGRP);
-               ret = JnaUtils.setFilemode(path.getAbsolutePath(), mode);
-               assertEquals(0, ret);
-               mode = JnaUtils.getFilemode(path.getAbsolutePath());
-               assertTrue(mode > 0);
-               assertEquals(JnaUtils.S_IRGRP | JnaUtils.S_IWGRP, (mode & JnaUtils.S_IRWXG)); // group full access
+                       mode |= (JnaUtils.S_IRGRP | JnaUtils.S_IWGRP);
+                       ret = JnaUtils.setFilemode(path.getAbsolutePath(), mode);
+                       assertEquals(0, ret);
+                       mode = JnaUtils.getFilemode(path.getAbsolutePath());
+                       assertTrue(mode > 0);
+                       assertEquals(JnaUtils.S_IRGRP | JnaUtils.S_IWGRP, (mode & JnaUtils.S_IRWXG)); // group full access
 
-               repository.close();
-               RepositoryCache.close(repository);
-               FileUtils.deleteDirectory(repository.getDirectory());
+                       repository.close();
+                       RepositoryCache.close(repository);
+                       FileUtils.deleteDirectory(repository.getDirectory());
+               }
        }
 }