test fixed about lasterror function name.
[scilab.git] / scilab / modules / functions / tests / nonreg_tests / bug_2509.dia.ref
1 // =============================================================================
2 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 // Copyright (C) 2009 - INRIA - Serge Steer
4 //
5 //  This file is distributed under the same license as the Scilab package.
6 // =============================================================================
7 //
8 // <-- CLI SHELL MODE -->
9 // <-- Non-regression test for bug 2509 -->
10 //
11 // <-- Bugzilla URL -->
12 // http://bugzilla.scilab.org/show_bug.cgi?id=2509
13 //
14 // <-- Short Description -->
15 // execstr forgets to store the function name and line number when in the errcatch mode
16 prot=funcprot();funcprot(0);
17 //uncompiled macros
18 deff("foo","a=aaaa","n")
19 if execstr("foo()","errcatch")==0 then bugmes();quit;end
20 [str,n,l,f]=lasterror(%t);
21 if l<>2|f<>"foo" then bugmes();quit;end
22 try
23     foo();
24 catch
25     [str,n,l,f]=lasterror(%t);
26     if l<>2|f<>"foo" then bugmes();quit;end;
27 end
28 if exec(foo,"errcatch")==0 then bugmes();quit;end
29 [str,n,l,f]=lasterror(%t);
30 if l<>2|f<>"foo" then bugmes();quit;end
31 //compiled macros
32 deff("foo","a=aaaa")
33 if execstr("foo()","errcatch")==0 then bugmes();quit;end
34 [str,n,l,f]=lasterror(%t);
35 if l<>2|f<>"foo" then bugmes();quit;end
36 try
37     foo();
38 catch
39     [str,n,l,f]=lasterror(%t);
40     if l<>2|f<>"foo" then bugmes();quit;end;
41 end
42 if exec(foo,"errcatch")==0 then bugmes();quit;end
43 [str,n,l,f]=lasterror(%t);
44 if l<>2|f<>"foo" then bugmes();quit;end
45 //scripts
46 foo=["a=1";"a=aaaa"];
47 if execstr(foo,"errcatch")==0 then bugmes();quit;end
48 [str,n,l,f]=lasterror(%t);
49 if l<>2|f<>"" then bugmes();quit;end
50 //complex situations
51 deff("foo","execstr(''a=aaaa'')")
52 if execstr("foo()","errcatch")==0 then bugmes();quit;end
53 [str,n,l,f]=lasterror(%t);
54 if l<>1|f<>"foo" then bugmes();quit;end
55 funcprot(prot);