From b5aba87052036cc6afcac1b460a522e556adb607 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Sat, 14 Jan 2017 23:08:37 +0000 Subject: [PATCH 1/1] test suite: gitattributes: new test, still wip Signed-off-by: Ian Jackson --- debian/tests/control | 4 ++ tests/tests/gitattributes | 111 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 115 insertions(+) create mode 100755 tests/tests/gitattributes diff --git a/debian/tests/control b/debian/tests/control index 2ba41838..5563a80c 100644 --- a/debian/tests/control +++ b/debian/tests/control @@ -11,6 +11,10 @@ Tests-Directory: tests/tests Depends: dgit, dgit-infrastructure, devscripts, debhelper (>=8), fakeroot, build-essential Restrictions: x-dgit-intree-only x-dgit-git-only +Tests: gitattributes +Tests-Directory: tests/tests +Depends: dgit, dgit-infrastructure, devscripts, debhelper (>=8), fakeroot, build-essential, bsdgames + Tests: defdistro-mirror mirror mirror-debnewgit mirror-private Tests-Directory: tests/tests Depends: dgit, dgit-infrastructure, devscripts, debhelper (>=8), fakeroot, build-essential, rsync diff --git a/tests/tests/gitattributes b/tests/tests/gitattributes new file mode 100755 index 00000000..0b4bad66 --- /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 -- 2.30.2