changeset 33291:85f39533661d bytecode-interpreter

maint: Merge default to bytecode-interpreter
author Arun Giridhar <arungiridhar@gmail.com>
date Tue, 02 Apr 2024 12:59:14 -0400
parents 90a663c1a823 (current diff) 1077e4739169 (diff)
children e3d55a08aff4
files
diffstat 1 files changed, 18 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/scripts/testfun/assert.m	Mon Apr 01 22:25:54 2024 -0400
+++ b/scripts/testfun/assert.m	Tue Apr 02 12:59:14 2024 -0400
@@ -785,15 +785,24 @@
 
   str = ["ASSERT errors for:  assert " argin "\n"];
   str = [str, "\n  Location  |  Observed  |  Expected  |  Reason\n"];
-  for i = 1:length (err.index)
-    leni = length (err.index{i});
-    leno = length (err.observed{i});
-    lene = length (err.expected{i});
-    str = [str, sprintf("%*s%*s %*s%*s %*s%*s   %s\n",
-                  6+fix(leni/2), err.index{i}   , max (6-fix(leni/2), 0), "",
-                  6+fix(leno/2), err.observed{i}, max (6-fix(leno/2), 0), "",
-                  6+fix(lene/2), err.expected{i}, max (6-fix(lene/2), 0), "",
-                  err.reason{i})];
+
+  pos = numel (str);
+  str(end + 1e6) = ' ';
+  for i = 1:numel (err.index)
+    leni = numel (err.index{i});
+    leno = numel (err.observed{i});
+    lene = numel (err.expected{i});
+    tmp = sprintf("%*s%*s %*s%*s %*s%*s   %s\n",
+            6+fix(leni/2), err.index{i}   , max (6-fix(leni/2), 0), "",
+            6+fix(leno/2), err.observed{i}, max (6-fix(leno/2), 0), "",
+            6+fix(lene/2), err.expected{i}, max (6-fix(lene/2), 0), "",
+            err.reason{i});
+    if (pos + numel (tmp) >= numel (str))
+      str(end + 1e6) = ' ';
+    endif
+    str((pos + 1):(pos + numel (tmp))) = tmp;
+    pos += numel (tmp);
   endfor
+  str = str(1:pos);
 
 endfunction