# HG changeset patch # User dbateman # Date 1192438802 0 # Node ID ecd6347f7d1c017f02cc1c6f559882a2975a9c04 # Parent 3e2a59c78b9d56814ea1ab4f90dee53788bb455d [project @ 2007-10-15 09:00:02 by dbateman] diff --git a/scripts/ChangeLog b/scripts/ChangeLog --- a/scripts/ChangeLog +++ b/scripts/ChangeLog @@ -1,3 +1,8 @@ +2007-10-15 David Bateman + + * testfun/test.m: In error/warning blocks test for an error before + a warning to avoid unexpected failures. + 2007-10-15 Kim Hansen i * testfun/assert.m: Correct documentation of absolution versus diff --git a/scripts/testfun/test.m b/scripts/testfun/test.m --- a/scripts/testfun/test.m +++ b/scripts/testfun/test.m @@ -381,21 +381,22 @@ warning ("on", "quiet"); try eval (sprintf ("__test__(%s);", __shared)); - __err = trimerr (lastwarn, "warning"); - warning (__warnstate.state, "quiet"); - if (! __warning) __msg = sprintf ("%sexpected <%s> but got no error\n", __signal_fail, __pattern); - elseif (isempty (__err)) - __msg = sprintf ("%sexpected <%s> but got no warning\n", + else + __err = trimerr (lastwarn, "warning"); + warning (__warnstate.state, "quiet"); + if (isempty (__err)) + __msg = sprintf ("%sexpected <%s> but got no warning\n", __signal_fail, __pattern); - elseif (isempty (regexp (__err, __pattern, "once"))) - __msg = sprintf ("%sexpected <%s> but got %s\n", - __signal_fail, __pattern, __err); - else - __success = 1; - endif + elseif (isempty (regexp (__err, __pattern, "once"))) + __msg = sprintf ("%sexpected <%s> but got %s\n", + __signal_fail, __pattern, __err); + else + __success = 1; + endif + endif catch __err = trimerr (lasterr, "error");