changeset 1246:27406165285f octave-forge

Don't do failure tests if evalin function doesn't exist
author pkienzle
date Thu, 29 Jan 2004 21:09:44 +0000
parents 035de89b1db5
children 0616df8902e0
files extra/testfun/fail.m
diffstat 1 files changed, 10 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/extra/testfun/fail.m	Thu Jan 29 18:55:53 2004 +0000
+++ b/extra/testfun/fail.m	Thu Jan 29 21:09:44 2004 +0000
@@ -13,16 +13,22 @@
 
 ## PKG_ADD mark_as_command fail
 function ret=fail(code,pattern)
+  ## allow assert(fail())
+  if nargout, ret=1; end  
+
+  ## don't test failure if evalin doesn't exist
+  if !exists('evalin'), return; end
+
+  ## perform the test
   try
     evalin("caller",[code,";"]);
     msg = "expected error but got none";
   catch
     msg = sprintf("expected %s\nbut got %s",pattern,lasterr);
-    if !isempty(regexp(pattern,lasterr))
-      if nargout, ret=1; end  # allow assert(fail())
-      return
-    end
+    if !isempty(regexp(pattern,lasterr)), return; end
   end
+
+  ## if we get here, then code didn't fail or error didn't match
   error(msg);
 end