diff options
author | Junio C Hamano <gitster@pobox.com> | 2021-09-08 13:30:31 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2021-09-08 13:30:31 -0700 |
commit | 85246a7054a6d20a1dc7ccc31e382493332374a4 (patch) | |
tree | 29820e2f1ee4af275563593b1f321fda408f22cd | |
parent | Merge branch 'mh/credential-leakfix' (diff) | |
parent | t6300: check for cat-file exit status code (diff) | |
download | tgif-85246a7054a6d20a1dc7ccc31e382493332374a4.tar.xz |
Merge branch 'dd/t6300-wo-gpg-fix'
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 0d2e062f79..80679d5e12 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 ' |