X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=tests%2Ftests%2Fgitattributes;h=83fa6102ef430f7ecc2a3899fac68e6ddeef484a;hb=005625309ea693fcb6e95b595c2395a9c533dd3d;hp=a0e436d24a4c13bf830a47e773394de2fb0d5ff7;hpb=9ce3e1296992387cf9a2bdbdeabf624ba1881b40;p=dgit.git diff --git a/tests/tests/gitattributes b/tests/tests/gitattributes index a0e436d2..83fa6102 100755 --- a/tests/tests/gitattributes +++ b/tests/tests/gitattributes @@ -7,6 +7,7 @@ t-dependencies man-db git-man t-tstunt-parsechangelog t-archive-none example +t-git-none bv=1.0 t-worktree $bv @@ -102,22 +103,29 @@ sfmt_setup () { cd .. } -sfmt_import () { - inst=$1 - dgitargs=$2 - refname="import.$sfmt-$inst" - brkerr=stderr.$sfmt-$inst.broken - dscf=${p}_${v}.dsc +sums_check () { + # caller should cd into working directory, set + # $sums $branch + # and check out $branch - mkdir $pdb-import-$inst - cd $pdb-import-$inst - git init + 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 +} + +sums_check_broken () { + # caller should cd into working directory, set + # $sums + # and check out the broken branch - LC_MESSAGES=C \ - t-dgit $dgitargs import-dsc ../$dscf +$refname.broken \ - 2>&1 |tee ../$brkerr - fgrep 'warning: source tree contains .gitattributes' ../$brkerr - git checkout $refname.broken sha256sum af/* >../$sums.broken for s in ../sums ../$sums.broken; do @@ -129,28 +137,59 @@ sfmt_import () { rc=$? set -e test $rc = 1 +} - t-dgit setup-new-tree +t-dgit-warn-check () { + local warnok=$1; shift + # warnok should be 0 if the warning is expected + # 1 if the warning is NOT expected - t-dgit $dgitargs import-dsc ../$dscf +$refname - git checkout $refname + local err=stderr.$wd + + LC_MESSAGES=C t-dgit "$@" 2>&1 |tee ../$err + + set +e + fgrep 'warning: source tree contains .gitattributes' ../$err + rc=$? + set -e + test "$rc" = "$warnok" +} + +sfmt_import () { + inst=$1 + dgitargs=$2 + branch="import.$sfmt-$inst" + dscf=${p}_${v}.dsc sums=sums.$sfmt-$inst + wd=$pdb-import-$inst - for f in af/*; do - git cat-file blob "refs/heads/$refname:$f" \ - | sha256sum \ - | sed -e 's#-$#'$f'#' \ - >>../$sums - done + mkdir $wd + cd $wd + git init + + t-dgit-warn-check 0 $dgitargs import-dsc ../$dscf +$branch.broken + + git checkout $branch.broken + + sums_check_broken + + t-dgit setup-new-tree + + t-dgit-warn-check 1 $dgitargs import-dsc ../$dscf +$branch + git checkout $branch + git reset --hard + + sums_check cd .. - diff -U0 sums $sums } : ----- generate the orig ----- -tar --exclude=debian --exclude=.git -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 ----- @@ -168,7 +207,7 @@ diff_convert () { :; } sfmt_setup 1.1 diff sfmt_import norm -: ----- test "3.0 (quilt)" +: ----- test "3.0 (quilt)" ----- quilt_addpatch () { pname=$1