# HG changeset patch # User Rik # Date 1390587297 28800 # Node ID 7994d3ce6e8e5df43ae0a2269f803667b9998baf # Parent 4b32677b6229c3228249444f3aad56b9ff9a827d assert.m: Fix regression and accept more than 3 arguments for certain cases (bug #41332). * assert.m: Accept more than 3 arguments when one of the arguments is a format string for error() and the extra arguments are passed on. Add %!tests to verify this works. diff -r 4b32677b6229 -r 7994d3ce6e8e scripts/testfun/assert.m --- a/scripts/testfun/assert.m Fri Jan 24 09:32:55 2014 -0800 +++ b/scripts/testfun/assert.m Fri Jan 24 10:14:57 2014 -0800 @@ -56,7 +56,7 @@ function assert (cond, varargin) - if (nargin == 0 || nargin > 3) + if (nargin == 0) print_usage (); endif @@ -84,8 +84,10 @@ expected = varargin{1}; if (nargin < 3) tol = 0; + elseif (nargin == 3) + tol = varargin{2}; else - tol = varargin{2}; + print_usage (); endif ## Add to list as the errors accumulate. If empty at end then no errors. @@ -396,6 +398,8 @@ %!error assert ([1,0,1]) %!error assert ([1;1;0]) %!error assert ([1,0;1,1]) +%!error <2-part error> assert (false, "%s %s", "2-part", "error") +%!error <2-part error> assert (false, "TST:msg_id", "%s %s", "2-part", "error") ## scalars %!error assert (3, [3,3])