Tests deactivated because make test_run fail (parsing issue): will be fixed later.
[scilab.git] / scilab / modules / functions / tests / nonreg_tests / bug_2509.tst
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 // <-- NOT FIXED -->
9 //
10 // <-- CLI SHELL MODE -->
11
12 // <-- Non-regression test for bug 2509 -->
13 //
14 // <-- Bugzilla URL -->
15 // http://bugzilla.scilab.org/show_bug.cgi?id=2509
16 //
17 // <-- Short Description -->
18 // execstr forgets to store the function name and line number when in the errcatch mode
19
20 prot=funcprot();funcprot(0);
21
22
23 //uncompiled macros
24 deff('foo','a=aaaa','n')
25 if execstr('foo()','errcatch')<>4 then pause,end
26 [str,n,l,f]=lasterror(%t);
27 if l<>2|f<>'foo' then pause,end
28
29 try, 
30   foo();
31 catch 
32   [str,n,l,f]=lasterror(%t); 
33   if l<>2|f<>'foo' then pause,end;
34 end
35
36 if exec(foo,'errcatch')<>4 then pause,end
37 [str,n,l,f]=lasterror(%t);
38 if l<>2|f<>'foo' then pause,end
39
40 //compiled macros
41 deff('foo','a=aaaa')
42 if execstr('foo()','errcatch')<>4 then pause,end
43 [str,n,l,f]=lasterror(%t);
44 if l<>2|f<>'foo' then pause,end
45
46 try, 
47   foo();
48 catch 
49   [str,n,l,f]=lasterror(%t); 
50   if l<>2|f<>'foo' then pause,end;
51 end
52
53 if exec(foo,'errcatch')<>4 then pause,end
54 [str,n,l,f]=lasterror(%t);
55 if l<>2|f<>'foo' then pause,end
56
57 //scripts
58 foo=['a=1';'a=aaaa'];
59 if execstr(foo,'errcatch')<>4 then pause,end
60 [str,n,l,f]=lasterror(%t);
61 if l<>2|f<>'' then pause,end
62
63 //complex situations
64 deff('foo','execstr(''a=aaaa'')')
65 if execstr('foo()','errcatch')<>4 then pause,end
66 [str,n,l,f]=lasterror(%t);
67 if l<>1|f<>'' then pause,end
68
69
70 funcprot(prot);