diff libinterp/corefcn/pr-output.cc @ 26716:daa281e03d9a

Harden BIST tests against changes in format(). * oct-parse.yy: Save/restore format before running some evalc() tests. * Map.m: Save/restore format and change %!error to %!test with fail(). * pr-output.cc (Frats): Save/restore format before running rats() tests.
author Rik <rik@octave.org>
date Sun, 10 Feb 2019 08:39:30 -0800
parents d673b506f382
children d0c32d60ed35
line wrap: on
line diff
--- a/libinterp/corefcn/pr-output.cc	Sat Feb 09 12:24:26 2019 +0100
+++ b/libinterp/corefcn/pr-output.cc	Sun Feb 10 08:39:30 2019 -0800
@@ -3163,17 +3163,23 @@
 }
 
 /*
-%!assert (rats (2.0005, 9), "4001/2000")
-%!assert (rats (-2.0005, 10), "-4001/2000")
-%!assert (strtrim (rats (2.0005, 30)), "4001/2000")
-%!assert (pi - str2num (rats (pi, 30)), 0, 4 * eps)
-%!assert (e - str2num (rats (e, 30)), 0, 4 * eps)
-%!assert (rats (123, 2), " *")
-
 %!test
-%! v = 1 / double (intmax);
-%! err = v - str2num (rats(v, 12));
-%! assert (err, 0, 4 * eps);
+%! [old_fmt, old_spacing] = format ();
+%! unwind_protect
+%!   format short;
+%!   assert (rats (2.0005, 9), "4001/2000");
+%!   assert (rats (-2.0005, 10), "-4001/2000");
+%!   assert (strtrim (rats (2.0005, 30)), "4001/2000");
+%!   assert (pi - str2num (rats (pi, 30)), 0, 4 * eps);
+%!   assert (e - str2num (rats (e, 30)), 0, 4 * eps);
+%!   assert (rats (123, 2), " *");
+%!   v = 1 / double (intmax);
+%!   err = v - str2num (rats (v, 12));
+%!   assert (err, 0, 4 * eps);
+%! unwind_protect_cleanup
+%!   format (old_fmt);
+%!   format (old_spacing);
+%! end_unwind_protect
 */
 
 DEFUN (disp, args, nargout,