diff options
author | Junio C Hamano <gitster@pobox.com> | 2021-10-12 13:51:28 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2021-10-12 13:51:28 -0700 |
commit | 3de9da8e2cf34f6e6589a5001b751a18ec780e36 (patch) | |
tree | 7580902dd07348cce77bdffab14f25c20185a294 | |
parent | Merge branch 'mh/credential-leakfix' into maint (diff) | |
parent | t6300: check for cat-file exit status code (diff) | |
download | tgif-3de9da8e2cf34f6e6589a5001b751a18ec780e36.tar.xz |
Merge branch 'dd/t6300-wo-gpg-fix' into maint
Test fix.
* dd/t6300-wo-gpg-fix:
t6300: check for cat-file exit status code
t6300: don't run cat-file on non-existent object
-rwxr-xr-x | t/t6300-for-each-ref.sh | 29 |
1 files changed, 18 insertions, 11 deletions
diff --git a/t/t6300-for-each-ref.sh b/t/t6300-for-each-ref.sh index 9e0214076b..05a15a933a 100755 --- a/t/t6300-for-each-ref.sh +++ b/t/t6300-for-each-ref.sh @@ -59,18 +59,25 @@ test_atom() { # Automatically test "contents:size" atom after testing "contents" if test "$2" = "contents" then - case $(git cat-file -t "$ref") in - tag) - # We cannot use $3 as it expects sanitize_pgp to run - expect=$(git cat-file tag $ref | tail -n +6 | wc -c) ;; - tree | blob) - expect='' ;; - commit) - expect=$(printf '%s' "$3" | wc -c) ;; - esac - # Leave $expect unquoted to lose possible leading whitespaces - echo $expect >expected + # for commit leg, $3 is changed there + expect=$(printf '%s' "$3" | wc -c) test_expect_${4:-success} $PREREQ "basic atom: $1 contents:size" ' + type=$(git cat-file -t "$ref") && + case $type in + tag) + # We cannot use $3 as it expects sanitize_pgp to run + git cat-file tag $ref >out && + expect=$(tail -n +6 out | wc -c) && + rm -f out ;; + tree | blob) + expect="" ;; + commit) + : "use the calculated expect" ;; + *) + BUG "unknown object type" ;; + esac && + # Leave $expect unquoted to lose possible leading whitespaces + echo $expect >expected && git for-each-ref --format="%(contents:size)" "$ref" >actual && test_cmp expected actual ' |