The test cases include many corner-cases of merge-recursive's behavior,
some of them involve type changes and symbolic links. All cases, including
those that are protected by SYMLINKS check only whether the result of
merge-recursive is correctly stored in the database and the index; the
file system is not investigated. Use test_ln_s_add to enter a symbolic
link in the index in the test setup and run the tests without the
SYMLINKS prerequisite.

Notice that one test that has the SYMLINKS protection removed is an
expect_failure. There is a possibility that the test fails differently
depending on whether SYMLINKS is present or not; but this is not the case
presently.

Signed-off-by: Johannes Sixt <j...@kdbg.org>
---
 t/t3030-merge-recursive.sh | 62 +++++++++++++++++++---------------------------
 1 file changed, 26 insertions(+), 36 deletions(-)

diff --git a/t/t3030-merge-recursive.sh b/t/t3030-merge-recursive.sh
index a5e3da7..2f96100 100755
--- a/t/t3030-merge-recursive.sh
+++ b/t/t3030-merge-recursive.sh
@@ -25,10 +25,7 @@ test_expect_success 'setup 1' '
        git branch submod &&
        git branch copy &&
        git branch rename &&
-       if test_have_prereq SYMLINKS
-       then
-               git branch rename-ln
-       fi &&
+       git branch rename-ln &&
 
        echo hello >>a &&
        cp a d/e &&
@@ -260,16 +257,12 @@ test_expect_success 'setup 8' '
        git add e &&
        test_tick &&
        git commit -m "rename a->e" &&
-       if test_have_prereq SYMLINKS
-       then
-               git checkout rename-ln &&
-               git mv a e &&
-               ln -s e a &&
-               git add a e &&
-               test_tick &&
-               git commit -m "rename a->e, symlink a->e" &&
-               oln=`printf e | git hash-object --stdin`
-       fi
+       git checkout rename-ln &&
+       git mv a e &&
+       test_ln_s_add e a &&
+       test_tick &&
+       git commit -m "rename a->e, symlink a->e" &&
+       oln=`printf e | git hash-object --stdin`
 '
 
 test_expect_success 'setup 9' '
@@ -569,28 +562,25 @@ test_expect_success 'merge-recursive copy vs. rename' '
        test_cmp expected actual
 '
 
-if test_have_prereq SYMLINKS
-then
-       test_expect_failure 'merge-recursive rename vs. rename/symlink' '
-
-               git checkout -f rename &&
-               git merge rename-ln &&
-               ( git ls-tree -r HEAD ; git ls-files -s ) >actual &&
-               (
-                       echo "120000 blob $oln  a"
-                       echo "100644 blob $o0   b"
-                       echo "100644 blob $o0   c"
-                       echo "100644 blob $o0   d/e"
-                       echo "100644 blob $o0   e"
-                       echo "120000 $oln 0     a"
-                       echo "100644 $o0 0      b"
-                       echo "100644 $o0 0      c"
-                       echo "100644 $o0 0      d/e"
-                       echo "100644 $o0 0      e"
-               ) >expected &&
-               test_cmp expected actual
-       '
-fi
+test_expect_failure 'merge-recursive rename vs. rename/symlink' '
+
+       git checkout -f rename &&
+       git merge rename-ln &&
+       ( git ls-tree -r HEAD ; git ls-files -s ) >actual &&
+       (
+               echo "120000 blob $oln  a"
+               echo "100644 blob $o0   b"
+               echo "100644 blob $o0   c"
+               echo "100644 blob $o0   d/e"
+               echo "100644 blob $o0   e"
+               echo "120000 $oln 0     a"
+               echo "100644 $o0 0      b"
+               echo "100644 $o0 0      c"
+               echo "100644 $o0 0      d/e"
+               echo "100644 $o0 0      e"
+       ) >expected &&
+       test_cmp expected actual
+'
 
 
 test_done
-- 
1.8.3.rc1.32.g8b61cbb

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to