]> git.ipfire.org Git - thirdparty/git.git/commitdiff
diff tests: don't ignore "git diff" exit code
authorÆvar Arnfjörð Bjarmason <avarab@gmail.com>
Mon, 7 Mar 2022 12:48:55 +0000 (13:48 +0100)
committerJunio C Hamano <gitster@pobox.com>
Mon, 7 Mar 2022 21:27:39 +0000 (13:27 -0800)
Fix a test pattern that originated in f1af60bdba4 (Support 'diff=pgm'
attribute, 2007-04-22) so that we'll stop using "git diff" on the
left-hand-side of a pipe, and thus ignoring its exit code.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t4020-diff-external.sh

index 54bb8ef27e7f0089a46ca48ecccf3998deb84a69..879ee04d291221fbe3a359f645f8cef959ae65fb 100755 (executable)
@@ -37,17 +37,15 @@ test_expect_success 'GIT_EXTERNAL_DIFF environment' '
 
 '
 
-test_expect_success 'GIT_EXTERNAL_DIFF environment should apply only to diff' '
-
-       GIT_EXTERNAL_DIFF=echo git log -p -1 HEAD |
-       grep "^diff --git a/file b/file"
+test_expect_success !SANITIZE_LEAK 'GIT_EXTERNAL_DIFF environment should apply only to diff' '
+       GIT_EXTERNAL_DIFF=echo git log -p -1 HEAD >out &&
+       grep "^diff --git a/file b/file" out
 
 '
 
 test_expect_success 'GIT_EXTERNAL_DIFF environment and --no-ext-diff' '
-
-       GIT_EXTERNAL_DIFF=echo git diff --no-ext-diff |
-       grep "^diff --git a/file b/file"
+       GIT_EXTERNAL_DIFF=echo git diff --no-ext-diff >out &&
+       grep "^diff --git a/file b/file" out
 
 '
 
@@ -83,16 +81,16 @@ test_expect_success 'diff.external' '
        }
 '
 
-test_expect_success 'diff.external should apply only to diff' '
+test_expect_success !SANITIZE_LEAK 'diff.external should apply only to diff' '
        test_config diff.external echo &&
-       git log -p -1 HEAD |
-       grep "^diff --git a/file b/file"
+       git log -p -1 HEAD >out &&
+       grep "^diff --git a/file b/file" out
 '
 
 test_expect_success 'diff.external and --no-ext-diff' '
        test_config diff.external echo &&
-       git diff --no-ext-diff |
-       grep "^diff --git a/file b/file"
+       git diff --no-ext-diff >out &&
+       grep "^diff --git a/file b/file" out
 '
 
 test_expect_success 'diff attribute' '
@@ -115,17 +113,15 @@ test_expect_success 'diff attribute' '
 
 '
 
-test_expect_success 'diff attribute should apply only to diff' '
-
-       git log -p -1 HEAD |
-       grep "^diff --git a/file b/file"
+test_expect_success !SANITIZE_LEAK 'diff attribute should apply only to diff' '
+       git log -p -1 HEAD >out &&
+       grep "^diff --git a/file b/file" out
 
 '
 
 test_expect_success 'diff attribute and --no-ext-diff' '
-
-       git diff --no-ext-diff |
-       grep "^diff --git a/file b/file"
+       git diff --no-ext-diff >out &&
+       grep "^diff --git a/file b/file" out
 
 '
 
@@ -148,17 +144,15 @@ test_expect_success 'diff attribute' '
 
 '
 
-test_expect_success 'diff attribute should apply only to diff' '
-
-       git log -p -1 HEAD |
-       grep "^diff --git a/file b/file"
+test_expect_success !SANITIZE_LEAK 'diff attribute should apply only to diff' '
+       git log -p -1 HEAD >out &&
+       grep "^diff --git a/file b/file" out
 
 '
 
 test_expect_success 'diff attribute and --no-ext-diff' '
-
-       git diff --no-ext-diff |
-       grep "^diff --git a/file b/file"
+       git diff --no-ext-diff >out &&
+       grep "^diff --git a/file b/file" out
 
 '
 
@@ -177,7 +171,8 @@ test_expect_success 'attributes trump GIT_EXTERNAL_DIFF and diff.external' '
 
 test_expect_success 'no diff with -diff' '
        echo >.gitattributes "file -diff" &&
-       git diff | grep Binary
+       git diff >out &&
+       grep Binary out
 '
 
 echo NULZbetweenZwords | perl -pe 'y/Z/\000/' > file