From b5aba87052036cc6afcac1b460a522e556adb607 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Sat, 14 Jan 2017 23:08:37 +0000 Subject: test suite: gitattributes: new test, still wip Signed-off-by: Ian Jackson --- tests/tests/gitattributes | 111 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 111 insertions(+) create mode 100755 tests/tests/gitattributes (limited to 'tests') diff --git a/tests/tests/gitattributes b/tests/tests/gitattributes new file mode 100755 index 0000000..0b4bad6 --- /dev/null +++ b/tests/tests/gitattributes @@ -0,0 +1,111 @@ +#!/bin/bash +set -e +. tests/lib + +t-dependencies bsdgames +t-tstunt-parsechangelog + +t-archive-none example +v=1.0 +t-worktree $v + +cd $p + +: ----- convert to "3.0 (quilt)" + +rm -rf .git +tar --exclude=debian -C .. -zcf ../${p}_${v}.orig.tar.gz $p +dch -v 1.0-1 -m convert +mkdir -p debian/source +echo '3.0 (quilt)' >debian/source/format + +v=1.0-1 + +: ----- make everything break ----- + +mkdir af + +addpatch () { + pname=$1 + cat >../editor.pl <>af/$filename "Test file with $attrspec" + printf >>af/$filename 'crlf: \r\n' + echo >>af/$filename 'id $Id: $' + echo >>af/$filename 'id $Id: SPLARK $' + echo >>.gitattributes "af/$filename" "$attrspec" +} + +badattr () { + attrname=$1; shift + badattr1 $attrname-set $attrname + badattr1 $attrname-unset -$attrname + badattr1 $attrname-unspec \!$attrname + local val + for val in "$@"; do + badattr1 $attrname=$val $attrname=$val + done +} + +# xxx want to make each of these files into a quilt patch + +t-git-config core.eol crlf + +badattr text auto +badattr eol lf crlf +badattr ident + +t-git-config filter.dgit-test-crazy-f.smudge '/usr/games/rot13 2' +t-git-config filter.dgit-test-crazy-f.clean '/usr/games/rot13 24' +t-git-config filter.dgit-test-crazy-f.requrired true + +badattr filter dgit-test-crazy-f + +badattr diff +badattr merge text binary union +badattr whitespace +badattr export-ignore +badattr export-subst +badattr delta +badattr encoding no-such-encoding + +mv af ../af.aside +addpatch gitattrs + +mv ../af.aside af +addpatch files + +sha256sum af/* >sums +addpatch sums + +dpkg-source -b . + +cd .. +mkdir $p.import +cd $p.import +git init + +#t-dgit --force-import-gitapply-absurd import-dsc ../${p}_${v}.dsc +import +t-dgit import-dsc ../${p}_${v}.dsc +import + +git checkout import + +for f in af/*; do + git cat-file blob "refs/heads/import:$f" | sha256sum | \ + sed -e 's#-$#'$f'#' \ + >>../sums +done + +diff -U0 sums ../sums + +#t-ok -- cgit v1.2.3