Fix tests breaking when checkout path contains shell metacharacters
[gitweb.git] / t / t4000-diff-format.sh
index 91015d76fc5b63e0ffa68eb121bb514aa9a74f8f..c44b27aeb24816a346f0aa84d70546a0ffd83b2a 100755 (executable)
@@ -7,6 +7,7 @@ test_description='Test built-in diff output engine.
 
 '
 . ./test-lib.sh
+. ../diff-lib.sh
 
 echo >path0 'Line 1
 Line 2
@@ -15,16 +16,24 @@ cat path0 >path1
 chmod +x path1
 
 test_expect_success \
-    'update-cache --add two files with and without +x.' \
-    'git-update-index --add path0 path1'
+    'update-index --add two files with and without +x.' \
+    'git update-index --add path0 path1'
 
 mv path0 path0-
 sed -e 's/line/Line/' <path0- >path0
 chmod +x path0
 rm -f path1
 test_expect_success \
-    'git-diff-files -p after editing work tree.' \
-    'git-diff-files -p >current'
+    'git diff-files -p after editing work tree.' \
+    'git diff-files -p >current'
+
+# that's as far as it comes
+if [ "$(git config --get core.filemode)" = false ]
+then
+       say 'filemode disabled on the filesystem'
+       test_done
+fi
+
 cat >expected <<\EOF
 diff --git a/path0 b/path0
 old mode 100644
@@ -47,16 +56,7 @@ deleted file mode 100755
 EOF
 
 test_expect_success \
-    'validate git-diff-files -p output.' \
-    'cmp -s current expected'
-
-test_expect_success \
-    'build same diff using git-diff-helper.' \
-    'git-diff-files -z | git-diff-helper -z >current'
-
-
-test_expect_success \
-    'validate git-diff-helper output.' \
-    'cmp -s current expected'
+    'validate git diff-files -p output.' \
+    'compare_diff_patch current expected'
 
 test_done