diff options
author | Serge Steer <serge.steer@scilab.org> | 2007-02-19 17:38:35 +0000 |
---|---|---|
committer | Serge Steer <serge.steer@scilab.org> | 2007-02-19 17:38:35 +0000 |
commit | 935a5173977c705bd461a17a95f52ae93bc08087 (patch) | |
tree | f40a3573095603e63877d14b84ee58c76401739c /tests | |
parent | 252954308c8b96986071beebac42d85ae58bcdee (diff) | |
download | scilab-935a5173977c705bd461a17a95f52ae93bc08087.zip scilab-935a5173977c705bd461a17a95f52ae93bc08087.tar.gz |
bug2052.sci added
Diffstat (limited to 'tests')
-rw-r--r-- | tests/nonRegression/bug2052.sci | 50 | ||||
-rw-r--r-- | tests/nonRegression/list_nonreg.txt | 1 |
2 files changed, 51 insertions, 0 deletions
diff --git a/tests/nonRegression/bug2052.sci b/tests/nonRegression/bug2052.sci new file mode 100644 index 0000000..27f23a7 --- /dev/null +++ b/tests/nonRegression/bug2052.sci | |||
@@ -0,0 +1,50 @@ | |||
1 | // Non-regression test file for bug 2052 | ||
2 | // Serge Steer - Scilab Project | ||
3 | // Copyright INRIA | ||
4 | // 19/02/2007 | ||
5 | |||
6 | mode(-1); | ||
7 | clear; | ||
8 | cur=pwd(); | ||
9 | cd(TMPDIR); | ||
10 | //first create a function changetype | ||
11 | code=['#include ""stack-c.h""' | ||
12 | 'int intchangetype(fname)' | ||
13 | ' char *fname;' | ||
14 | '{' | ||
15 | ' int m1,n1,l1;' | ||
16 | ' CheckRhs(2,2);' | ||
17 | ' CheckLhs(1,1);' | ||
18 | ' GetRhsVar(2,""i"",&m1,&n1,&l1)' | ||
19 | ' /* change the type */' | ||
20 | ' *istk(iadr(*Lstk(Top-1)))=*istk(l1);' | ||
21 | ' C2F(intersci).ntypes[0] = ''$'';' | ||
22 | ' LhsVar(1)=1;' | ||
23 | ' return 0;' | ||
24 | '}']; | ||
25 | mputl(code,'intchangetype.c'); | ||
26 | ilib_build('libtest',['changetype','intchangetype'],'intchangetype',[]); | ||
27 | exec('loader.sce') | ||
28 | cd(cur); | ||
29 | |||
30 | |||
31 | //create variables of type 222 | ||
32 | A=rand(3,2); | ||
33 | a=changetype(A,222); | ||
34 | //associate a typename to 222 | ||
35 | typename("bug2052", 222) | ||
36 | //define overloading function for isequal | ||
37 | function r=%bug2052_isequal(x,y) | ||
38 | r=type(x)==222&type(y)==222 | ||
39 | if r then | ||
40 | x=changetype(x,1) | ||
41 | y=changetype(y,1) | ||
42 | r=r&and(x==y) | ||
43 | end | ||
44 | endfunction | ||
45 | //Check if everything is ok | ||
46 | l=list(1,2,3); | ||
47 | r=isequal(a,a)&~isequal(a,A)&~isequal(A,a)&isequal(A,A)&isequal(l,l)&~isequal(l,A); | ||
48 | |||
49 | affich_result(r,2052); | ||
50 | clear | ||
diff --git a/tests/nonRegression/list_nonreg.txt b/tests/nonRegression/list_nonreg.txt index 35556ac..7b9fa46 100644 --- a/tests/nonRegression/list_nonreg.txt +++ b/tests/nonRegression/list_nonreg.txt | |||
@@ -147,6 +147,7 @@ | |||
147 | 2038 | 147 | 2038 |
148 | 2039 | 148 | 2039 |
149 | 2045 | 149 | 2045 |
150 | 2052 | ||
150 | 2067 | 151 | 2067 |
151 | 2067 | 152 | 2067 |
152 | 2092 | 153 | 2092 |