X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=tests%2Ftests%2Fgitattributes;h=e6089bd9cdda9007c597a7e2c9728cf9a3e90d48;hb=7a88b9a4054ffa6e79f3b1f7f608de08793e22d2;hp=c8d1b0ae64fa353f46c9388527c6b51b456ccef5;hpb=24f513d989f503cc52eca756d15d47eaa2672918;p=dgit.git diff --git a/tests/tests/gitattributes b/tests/tests/gitattributes index c8d1b0ae..e6089bd9 100755 --- a/tests/tests/gitattributes +++ b/tests/tests/gitattributes @@ -3,9 +3,11 @@ set -e . tests/lib t-dependencies bsdgames +t-dependencies man-db git-man t-tstunt-parsechangelog t-archive-none example +t-git-none bv=1.0 t-worktree $bv @@ -56,6 +58,15 @@ badattr export-subst badattr delta badattr encoding no-such-encoding +man gitattributes \ +| perl -ne 'print $1,"\n" if m/^ *(\w[-a-z]*)$/' \ +> grepped-attrs + +exec sums # ----- common to source formats ----- @@ -92,34 +103,69 @@ sfmt_setup () { cd .. } +sums_check () { + # caller should cd into working directory, set + # $sums $branch + # and check out $branch + + sha256sum af/* >../$sums.checkout + diff -U0 ../sums ../$sums.checkout + + for f in af/*; do + git cat-file blob "refs/heads/$branch:$f" \ + | sha256sum \ + | sed -e 's#-$#'$f'#' \ + >>../$sums + done + + diff -U0 ../sums ../$sums +} + sfmt_import () { inst=$1 dgitargs=$2 - refname="import.$sfmt-$inst" + branch="import.$sfmt-$inst" + brkerr=stderr.$sfmt-$inst.broken + dscf=${p}_${v}.dsc + sums=sums.$sfmt-$inst mkdir $pdb-import-$inst cd $pdb-import-$inst git init - t-dgit setup-new-tree - - t-dgit $dgitargs import-dsc ../${p}_${v}.dsc +$refname - git checkout $refname - sums=sums.$sfmt-$inst + LC_MESSAGES=C \ + t-dgit $dgitargs import-dsc ../$dscf +$branch.broken \ + 2>&1 |tee ../$brkerr + fgrep 'warning: source tree contains .gitattributes' ../$brkerr + git checkout $branch.broken + sha256sum af/* >../$sums.broken - for f in af/*; do - git cat-file blob "refs/heads/$refname:$f" | sha256sum | \ - sed -e 's#-$#'$f'#' \ - >>../$sums + for s in ../sums ../$sums.broken; do + sed 's/[0-9a-f]* //' $s >$s.nosums done + diff -U0 ../sums.nosums ../$sums.broken.nosums + set +e + diff -U0 ../sums ../$sums.broken + rc=$? + set -e + test $rc = 1 + + t-dgit setup-new-tree + + t-dgit $dgitargs import-dsc ../$dscf +$branch + git checkout $branch + git reset --hard + + sums_check cd .. - diff -U0 sums $sums } : ----- generate the orig ----- -tar --exclude=debian -zcf ${p}_${bv}.orig.tar.gz $p +origtar=${p}_${bv}.orig.tar.gz + +tar --exclude=debian --exclude=.git -zcf $origtar $p : ----- test 1.0 native ----- @@ -137,7 +183,7 @@ diff_convert () { :; } sfmt_setup 1.1 diff sfmt_import norm -: ----- test "3.0 (quilt)" +: ----- test "3.0 (quilt)" ----- quilt_addpatch () { pname=$1