X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=tests%2Ftests%2Fgitattributes;h=9e1c246a476cf400c95b76af163663ef1c5938ca;hb=98f0b776adea78bc0f4c379a8e956a3cb69046ae;hp=0093f0a454721d4a3b08585e9eb659cd6a2e0954;hpb=1a041c354fcfd62f9a01151dc64080fdb0a9b40d;p=dgit.git diff --git a/tests/tests/gitattributes b/tests/tests/gitattributes index 0093f0a4..9e1c246a 100755 --- a/tests/tests/gitattributes +++ b/tests/tests/gitattributes @@ -121,11 +121,45 @@ sums_check () { diff -U0 ../sums ../$sums } +sums_check_broken () { + # caller should cd into working directory, set + # $sums + # and check out the broken branch + + sha256sum af/* >../$sums.broken + + 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-warn-check () { + local warnok=$1; shift + # warnok should be 0 if the warning is expected + # 1 if the warning is NOT expected + + local err=stderr.$wd + + LC_MESSAGES=C t-dgit "$@" 2>&1 |tee ../$err + + set +e + egrep 'warning: .* contains \.gitattributes' ../$err + rc=$? + set -e + + test "$rc" = "$warnok" +} + sfmt_import () { inst=$1 dgitargs=$2 branch="import.$sfmt-$inst" - brkerr=stderr.$sfmt-$inst.broken dscf=${p}_${v}.dsc sums=sums.$sfmt-$inst wd=$pdb-import-$inst @@ -134,27 +168,17 @@ sfmt_import () { cd $wd git init - LC_MESSAGES=C \ - t-dgit $dgitargs import-dsc ../$dscf +$branch.broken \ - 2>&1 |tee ../$brkerr - fgrep 'warning: source tree contains .gitattributes' ../$brkerr + t-dgit-warn-check 0 $dgitargs import-dsc ../$dscf +$branch.broken + git checkout $branch.broken - sha256sum af/* >../$sums.broken - 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 + sums_check_broken t-dgit setup-new-tree - t-dgit $dgitargs import-dsc ../$dscf +$branch + t-dgit-warn-check 1 $dgitargs import-dsc ../$dscf +$branch git checkout $branch + touch af/* git reset --hard sums_check @@ -206,4 +230,27 @@ sfmt_setup 1.0-1 quilt sfmt_import norm sfmt_import absurd --force-import-gitapply-absurd -#t-ok +: ----- 'test clone (with "3.0 (quilt)")' ----- + +mv $origtar ${dscf%.dsc}.* $tmp/mirror/pool/main/ +t-archive-query sid + +t-dgit-warn-check 0 -cdgit.default.setup-gitattributes=false \ + clone $p sid $p.clone.broken +cd $p.clone.broken + +sums=$p.clone.broken +sums_check_broken + +cd .. + +t-dgit-warn-check 1 clone $p sid $p.clone + +cd $p.clone +sums=sums.clone +branch=dgit/sid +sums_check + +cd .. + +t-ok