chiark / gitweb /
dgit: aptget archive access method
[dgit.git] / tests / lib
index 1d189a9203d05785cc0260f6d4fc668a3d06ee2d..23daeace743e6e06e0fa36c5e81bdee43670eaa1 100644 (file)
--- a/tests/lib
+++ b/tests/lib
@@ -198,6 +198,18 @@ t-has-ancestor () {
        fi
 }
 
+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 %H ' "$child")
+       parent=$(git rev-parse "$parent~0")
+       case "$parents" in
+       *" $parent "*)  ;;
+       *)      fail "child $child lacks parent $parent" ;;
+       esac
+}
+
 t-prep-newpackage () {
        t-select-package $1
        v=$2
@@ -477,17 +489,19 @@ t-ref-head () {
 t-ref-same-val () {
        local name="$1"
        local val=$2
-       case "$t_ref_val" in
-       '')             ;;
+       case "${t_ref_val-unset}" in
+       unset)          ;;
        "$val")         ;;
-       *)              fail "ref varies: $name:\
- ${val:-nothing} != ${t_ref_val:-nothing}" ;;
+       *)              fail "ref varies: ($name)\
+ ${val:-nothing} != ${t_ref_val:-nothing} (${t_ref_names[*]})" ;;
        esac
        t_ref_val="$val"
+       t_ref_names+=("$name")
 }
 
 t-refs-same-start () {
-       t_ref_val=''
+       unset t_ref_val
+       t_ref_names=()
 }
 
 t-refs-same () {
@@ -575,6 +589,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
@@ -604,6 +619,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