X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=dgit.git;a=blobdiff_plain;f=tests%2Flib;h=fb9ee38b4ab113e27268a3391ec4bd14ba04d35f;hp=039484d0cb7711e9dd54c3cb3cfc662eeea21d20;hb=e3d689abb4446aa168d150d2832fe9fd76933dcc;hpb=7f86851eef3962fb5d6c1953df1b3d1ac6776aa1 diff --git a/tests/lib b/tests/lib index 039484d0..fb9ee38b 100644 --- a/tests/lib +++ b/tests/lib @@ -65,6 +65,7 @@ incoming = $tmp/incoming run_dinstall = 0 END +: ${t_archive_method:=aq} : ${tagpfx:=archive/test-dummy} : ${suitespecs:=sid:unstable} @@ -198,11 +199,11 @@ t-has-ancestor () { fi } -t-has-parent () { - # t-has-parent CHILD PARENT +t-has-parent-or-is () { + # t-has-parent-or-is CHILD PARENT local child=$1 local parent=$2 - local parents=$(git show --pretty=format:' %P ' "$child") + local parents=$(git show --pretty=format:' %P %H ' "$child") parent=$(git rev-parse "$parent~0") case "$parents" in *" $parent "*) ;; @@ -226,6 +227,9 @@ t-prep-newpackage () { t-archive-none () { t-select-package $1 + t-archive-none-$t_archive_method +} +t-archive-none-aq () { mkdir -p $tmp/aq/dsc_in_suite $tmp/mirror/pool/main : >$tmp/aq/suites @@ -237,10 +241,10 @@ t-archive-none () { local sname=${suitespec#*:} >$tmp/aq/package.$suite.$p - t-archive-updated $suite $p + t-aq-archive-updated $suite $p >$tmp/aq/package.new.$p - t-archive-updated new $p + t-aq-archive-updated new $p ln -sf $suite $tmp/aq/dsc_in_suite/$sname @@ -267,7 +271,7 @@ END END } -t-archive-updated () { +t-aq-archive-updated () { local suite=$1 local p=$2 local suitedir=$tmp/aq/dsc_in_suite/$suite @@ -299,9 +303,16 @@ t-archive-process-incoming () { t-archive-query () { local suite=${1-sid} local dscf=main/${p}_${v}.dsc + t-archive-query-$t_archive_method "$suite" "$p" "$v" "$dscf" +} +t-archive-query-aq () { + local suite=$1 + local p=$2 + local v=$3 + local dscf=$4 local sha=`sha256sum <$tmp/mirror/pool/$dscf` echo "${v} ${sha% -} $dscf" >>$tmp/aq/package.$suite.${p} - t-archive-updated $suite $p + t-aq-archive-updated $suite $p } t-archive () { @@ -310,7 +321,7 @@ t-archive () { local dscf=${p}_$2.dsc rm -f $tmp/mirror/pool/main/${p}_* ln $troot/pkg-srcs/${p}_${2%-*}* $tmp/mirror/pool/main/ - t-archive-query + t-archive-query $suite rm -rf $tmp/extract mkdir $tmp/extract (set -e; cd $tmp/extract; dpkg-source -x ../mirror/pool/main/$dscf) @@ -338,6 +349,25 @@ t-git-dir-check () { esac } +t-git-fsck () { + git fsck --no-dangling --strict || ${expect_fsck_fail:+true} false +} + +t-fscks () { + ( + shopt -s nullglob + for d in $tmp/*/.git $tmp/git/*.git; do + cd "$d" + t-git-fsck + done + ) +} + +t-ok () { + t-fscks + echo ok. +} + t-rm-dput-dropping () { rm -f $tmp/${p}_${v}_*.upload } @@ -589,6 +619,7 @@ t-splitbrain-pushed-good--unpack () { mkdir t-unpack cd t-unpack ln -s $tmp/mirror/pool/main/*.orig*.tar* . + ln -s $tmp/incoming/*.orig*.tar* . ||: ln -s $incoming_dsc . ln -s ${incoming_dsc/.dsc/.debian.tar}* . dpkg-source "$@" -x *.dsc @@ -618,6 +649,13 @@ t-splitbrain-pushed-good-start () { git merge-base --is-ancestor $dep14tag $dgittag t-refs-same-start + t-ref-same refs/heads/split.p + case "$(t-git-get-ref refs/heads/split.b)" in + "$t_ref_val") ;; + "$(git rev-parse refs/heads/split.p^0)") ;; + "$(git rev-parse refs/heads/split.p^1)") ;; + *) fail 'bad b/p' ;; + esac t-pushed-good-core t-incoming-dsc @@ -740,6 +778,16 @@ t-tstunt-parsechangelog () { t-tstunt dpkg-parsechangelog Dpkg/Changelog/Parse.pm } +t-tstunt-lintian () { + t-tstunt lintian +} + +t-tstunt-debuild () { + : ${DGIT_TEST_REAL_DEBUILD:=$(type -p debuild)} + export DGIT_TEST_REAL_DEBUILD + t-tstunt debuild +} + t-incoming-dsc () { local dsc=${p}_${v}.dsc incoming_dsc=$tmp/incoming/$dsc @@ -826,7 +874,7 @@ t-gbp-example-prep () { t-commit () { local msg=$1 v=${2:-${majorv:-1}.$revision} - dch -v$v --distribution ${3:-unstable} "$1" + dch --force-distribution -v$v --distribution ${3:-unstable} "$1" git add debian/changelog debcommit revision=$(( ${revision-0} + 1 ))