chiark / gitweb /
Test suite: Make t-ref-same* errors better by tracking and printing names
[dgit.git] / tests / lib
index 03bb12da073636c7b17868cd2ddd895c847bd5f4..039484d0cb7711e9dd54c3cb3cfc662eeea21d20 100644 (file)
--- a/tests/lib
+++ b/tests/lib
@@ -489,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 () {