X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=dgit.git;a=blobdiff_plain;f=tests%2Flib;h=23daeace743e6e06e0fa36c5e81bdee43670eaa1;hp=1d189a9203d05785cc0260f6d4fc668a3d06ee2d;hb=476be97f847c7dd52a98647ed9f4240791ff380e;hpb=1891cf0f12e32d647e24e7da6730e10d48d33fc3 diff --git a/tests/lib b/tests/lib index 1d189a92..23daeace 100644 --- 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