]> source.dussan.org Git - jgit.git/commitdiff
Fix MergeCommandTest to pass if File.executable is not supported 30/4830/1
authorRobin Rosenberg <robin.rosenberg@dewire.com>
Thu, 15 Dec 2011 22:33:00 +0000 (23:33 +0100)
committerRobin Rosenberg <robin.rosenberg@dewire.com>
Thu, 15 Dec 2011 22:36:14 +0000 (23:36 +0100)
Change-Id: If11080ed6e53d9df88a1ae42f48ee8914d54669b

org.eclipse.jgit.test/tst/org/eclipse/jgit/api/MergeCommandTest.java

index d1aaa0a5f89a17962186561f213af19e796cbbca..30a94520d19f4b3045e34afce07dae4a725f7b0d 100644 (file)
@@ -60,6 +60,7 @@ import org.eclipse.jgit.lib.RepositoryTestCase;
 import org.eclipse.jgit.merge.MergeStrategy;
 import org.eclipse.jgit.merge.ResolveMerger.MergeFailureReason;
 import org.eclipse.jgit.revwalk.RevCommit;
+import org.eclipse.jgit.util.FS;
 import org.eclipse.jgit.util.FileUtils;
 import org.junit.Test;
 import org.junit.experimental.theories.DataPoints;
@@ -1025,6 +1026,9 @@ public class MergeCommandTest extends RepositoryTestCase {
 
        @Test
        public void testFileModeMerge() throws Exception {
+               if (!FS.DETECTED.supportsExecute())
+                       return;
+               // Only Java6
                Git git = new Git(db);
 
                writeTrashFile("mergeableMode", "a");
@@ -1061,6 +1065,10 @@ public class MergeCommandTest extends RepositoryTestCase {
 
        @Test
        public void testFileModeMergeWithDirtyWorkTree() throws Exception {
+               if (!FS.DETECTED.supportsExecute())
+                       return;
+               // Only Java6 (or set x bit in index)
+
                Git git = new Git(db);
 
                writeTrashFile("mergeableButDirty", "a");
@@ -1089,13 +1097,13 @@ public class MergeCommandTest extends RepositoryTestCase {
        }
 
        private void setExecutable(Git git, String path, boolean executable) {
-               new File(git.getRepository().getWorkTree(), path)
-                               .setExecutable(executable);
-               assertEquals(executable, canExecute(git, path));
+               FS.DETECTED.setExecute(
+                               new File(git.getRepository().getWorkTree(), path), executable);
        }
 
        private boolean canExecute(Git git, String path) {
-               return (new File(git.getRepository().getWorkTree(), path).canExecute());
+               return FS.DETECTED.canExecute(new File(git.getRepository()
+                               .getWorkTree(), path));
        }
 
        private RevCommit addAllAndCommit(final Git git) throws Exception {