5 t-dependencies bsdgames
6 t-dependencies man-db git-man
7 t-tstunt-parsechangelog
14 : ----- prepare badnesses -----
21 echo >>af/$filename "Test file with $attrspec"
22 printf >>af/$filename 'crlf: \r\n'
23 echo >>af/$filename 'id $Id: $'
24 echo >>af/$filename 'id $Id: SPLARK $'
25 printf >>af/$filename '\xEF\xBB\xBF <- UTF-8 BOM\n'
26 echo >>gitattrs "af/$filename" "$attrspec"
31 badattr1 $attrname-set $attrname
32 badattr1 $attrname-unset -$attrname
33 badattr1 $attrname-unspec \!$attrname
36 badattr1 $attrname=$val $attrname=$val
40 # xxx want to make each of these files into a quilt patch
42 t-git-config core.eol crlf
48 t-git-config filter.dgit-test-crazy-f.smudge '/usr/games/rot13 2'
49 t-git-config filter.dgit-test-crazy-f.clean '/usr/games/rot13 24'
50 t-git-config filter.dgit-test-crazy-f.requrired true
52 badattr filter dgit-test-crazy-f
55 badattr merge text binary union
60 badattr encoding no-such-encoding
61 badattr working-tree-encoding ISO-8859-1 UTF-16
64 | perl -ne 'print $1,"\n" if m/^ *(\w[-a-z]*)$/' \
74 # ----- common to source formats -----
82 local addpatch=${sfmt}_addpatch
83 local convert=${sfmt}_convert
94 cp ../gitattrs .gitattributes
109 # caller should cd into working directory, set
111 # and check out $branch
113 sha256sum af/* >../$sums.checkout
114 diff -U0 ../sums ../$sums.checkout
117 git cat-file blob "refs/heads/$branch:$f" \
119 | sed -e 's#-$#'$f'#' \
123 diff -U0 ../sums ../$sums
126 sums_check_broken () {
127 # caller should cd into working directory, set
129 # and check out the broken branch
131 sha256sum af/* >../$sums.broken
133 for s in ../sums ../$sums.broken; do
134 sed 's/[0-9a-f]* //' $s >$s.nosums
136 diff -U0 ../sums.nosums ../$sums.broken.nosums
138 diff -U0 ../sums ../$sums.broken
144 t-dgit-warn-check () {
145 local warnok=$1; shift
146 # warnok should be 0 if the warning is expected
147 # 1 if the warning is NOT expected
151 LC_MESSAGES=C t-dgit "$@" 2>&1 |tee ../$err
154 egrep 'warning: .* contains \.gitattributes' ../$err
158 test "$rc" = "$warnok"
164 branch="import.$sfmt-$inst"
166 sums=sums.$sfmt-$inst
173 t-dgit-warn-check 0 $dgitargs import-dsc ../$dscf +$branch.broken
175 git checkout $branch.broken
179 t-dgit setup-new-tree
181 t-dgit-warn-check 1 $dgitargs import-dsc ../$dscf +$branch
191 : ----- generate the orig -----
193 origtar=${p}_${bv}.orig.tar.gz
195 tar --exclude=debian --exclude=.git -zcf $origtar $p
197 : ----- test 1.0 native -----
199 native_addpatch () { :; }
200 native_convert () { :; }
202 sfmt_setup 1.1 native
205 : ----- test 1.0 diff -----
207 diff_addpatch () { :; }
208 diff_convert () { :; }
213 : ----- test "3.0 (quilt)" -----
217 cat >../editor.pl <<END
219 s{^(description:).*}{\$1 dgit test patch $pname}i;
222 EDITOR="perl -pi $tmp/editor.pl" dpkg-source -iX --commit . $pname
223 test -f debian/patches/$pname
227 mkdir -p debian/source
228 echo '3.0 (quilt)' >debian/source/format
231 sfmt_setup 1.0-1 quilt
233 sfmt_import absurd --force-import-gitapply-absurd
235 : ----- 'test clone (with "3.0 (quilt)")' -----
237 mv $origtar ${dscf%.dsc}.* $tmp/mirror/pool/main/
240 t-dgit-warn-check 0 -cdgit.default.setup-gitattributes=false \
241 clone $p sid $p.clone.broken
249 t-dgit-warn-check 1 clone $p sid $p.clone