summary refs log tree commit diff
path: root/Test/ztst.zsh
diff options
context:
space:
mode:
Diffstat (limited to 'Test/ztst.zsh')
-rwxr-xr-xTest/ztst.zsh15
1 files changed, 7 insertions, 8 deletions
diff --git a/Test/ztst.zsh b/Test/ztst.zsh
index 1a6a0b543..d835e0edb 100755
--- a/Test/ztst.zsh
+++ b/Test/ztst.zsh
@@ -315,26 +315,25 @@ ZTST_diff() {
       
   if (( diff_pat )); then
     local -a diff_lines1 diff_lines2
-    integer failed i l n
+    integer failed i l
     local p
 
-    diff_lines1=("${(f)$(<$argv[-2])}")
-    diff_lines2=("${(f)$(<$argv[-1])}")
+    diff_lines1=("${(f@)$(<$argv[-2])}")
+    diff_lines2=("${(f@)$(<$argv[-1])}")
     if (( ${#diff_lines1} != ${#diff_lines2} )); then
       failed=1
+      print -r "Pattern match filead, line mismatch (${#diff_lines1}/${#diff_lines2}):"
     else
       for (( i = 1; i <= ${#diff_lines1}; i++ )); do
 	if [[ ${diff_lines2[i]} != ${~diff_lines1[i]} ]]; then
 	  failed=1
+	  print -r "Pattern match failed, line $i:"
 	  break
 	fi
       done
     fi
     if (( failed )); then
-      print -r "Pattern match failed, line $i:"
-      n=${#diff_lines1}
-      (( ${#diff_lines2} > $n )) && n=${#diff_lines2}
-      for (( l = 1; l <= n; ++l )); do
+      for (( l = 1; l <= ${#diff_lines1}; ++l )); do
 	if (( l == i )); then
 	  p="-"
 	else
@@ -342,7 +341,7 @@ ZTST_diff() {
 	fi
 	print -r -- "$p<${diff_lines1[l]}"
       done
-      for (( l = 1; l <= n; ++l )); do
+      for (( l = 1; l <= ${#diff_lines2}; ++l )); do
 	if (( l == i )); then
 	  p="+"
 	else