diff options
author | Junio C Hamano <gitster@pobox.com> | 2021-10-12 23:51:28 +0300 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2021-10-12 23:51:28 +0300 |
commit | 3de9da8e2cf34f6e6589a5001b751a18ec780e36 (patch) | |
tree | 7580902dd07348cce77bdffab14f25c20185a294 | |
parent | d4d96982ecfd80610096b1d28ba2fe4fe405b8cb (diff) | |
parent | 1549577338c7c3a4455e9b3f05f9c8740b8e5337 (diff) |
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 ' |