chiark / gitweb /
Test suite: Make t-refs-same* not wrongly ignore some nonexistent refs
[dgit.git] / tests / lib
index 1d189a9203d05785cc0260f6d4fc668a3d06ee2d..401331a2a8378eeca25aded59e15de76475fb8e5 100644 (file)
--- a/tests/lib
+++ b/tests/lib
@@ -198,6 +198,18 @@ t-has-ancestor () {
        fi
 }
 
+t-has-parent () {
+       # t-has-parent CHILD PARENT
+       local child=$1
+       local parent=$2
+       local parents=$(git show --pretty=format:' %P ' "$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,8 +489,8 @@ 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}" ;;
@@ -487,7 +499,7 @@ t-ref-same-val () {
 }
 
 t-refs-same-start () {
-       t_ref_val=''
+       unset t_ref_val
 }
 
 t-refs-same () {