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
This commit is contained in:
Junio C Hamano 2021-10-12 13:51:28 -07:00
commit 3de9da8e2c

View File

@ -59,18 +59,25 @@ test_atom() {
# Automatically test "contents:size" atom after testing "contents" # Automatically test "contents:size" atom after testing "contents"
if test "$2" = "contents" if test "$2" = "contents"
then then
case $(git cat-file -t "$ref") in # 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) tag)
# We cannot use $3 as it expects sanitize_pgp to run # We cannot use $3 as it expects sanitize_pgp to run
expect=$(git cat-file tag $ref | tail -n +6 | wc -c) ;; git cat-file tag $ref >out &&
expect=$(tail -n +6 out | wc -c) &&
rm -f out ;;
tree | blob) tree | blob)
expect='' ;; expect="" ;;
commit) commit)
expect=$(printf '%s' "$3" | wc -c) ;; : "use the calculated expect" ;;
esac *)
BUG "unknown object type" ;;
esac &&
# Leave $expect unquoted to lose possible leading whitespaces # Leave $expect unquoted to lose possible leading whitespaces
echo $expect >expected echo $expect >expected &&
test_expect_${4:-success} $PREREQ "basic atom: $1 contents:size" '
git for-each-ref --format="%(contents:size)" "$ref" >actual && git for-each-ref --format="%(contents:size)" "$ref" >actual &&
test_cmp expected actual test_cmp expected actual
' '