2 //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3 //Test du cas 'define' des fonctions gui des blocs
4 //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5 function r=checkdefine()
6    r=%f
7   for i=1:nb
8     execstr('gui='+Blocs(i))
9     ierr=execstr('x=gui(''define'')','errcatch')
10     if ierr<>0 then
11       mprintf('define failed for block '+Blocs(i));
12       r=%t
13       return;
14     end
15     clear gui
16   end
17 endfunction
18 //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
20 //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
21 //Test du cas 'inputs' des fonctions gui des blocs
22 //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
23 function r=checkinputs()
24    r=%f
25   for i=1:nb
26     execstr('gui='+Blocs(i))
27     o=gui('define')
28     ierr=execstr('[x,y,typ]=gui(''getinputs'',o)','errcatch')
29     if ierr<>0 then
30       mprintf('getinputs failed for block '+Blocs(i));
31       r=%t
32       return;
33     end
34     clear gui
35   end
36 endfunction
38 //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
39 //Test du cas 'outputs' des fonctions gui des blocs
40 //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
41 function r=checkoutputs()
42    r=%f
43   for i=1:nb
44     execstr('gui='+Blocs(i))
45     o=gui('define')
46     ierr=execstr('[x,y,typ]=gui(''getoutputs'',o)','errcatch')
47     if ierr<>0 then
48       mprintf('getoutputs failed for block '+Blocs(i));
49       r=%t
50       return;
51     end
52     clear gui
53   end
54 endfunction
55 //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
56 //Test du cas 'origin' des fonctions gui des blocs
57 //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
58 function r=checkorigin()
59    r=%f
60   for i=1:nb
61     execstr('gui='+Blocs(i))
62     o=gui('define')
63     ierr=execstr('[x,y,typ]=gui(''getorigin'',o)','errcatch')
64     if ierr<>0 then
65       mprintf('getorigin failed for block '+Blocs(i));
66       r=%t
67       return;
68     elseif x<>0|y<>0 then
69       mprintf('getorigin failed for block '+Blocs(i));
70       r=%t
71       return;
72     end
73     clear gui
74   end
75 endfunction
76 //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
77 //Test de la taille du vecteur dep_ut
78 //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
79 function r=checkdeput()
80   r=%f
81   for i=1:nb
82     execstr('gui='+Blocs(i))
83     o=gui('define');
84     dpt=o.model.dep_ut;
85     if length(o.model.dep_ut)~=2 then
86       mprintf('check dep_ut failed for block '+Blocs(i));
87       r=%t
88       return;
89     end
90     clear gui
91   end
92 endfunction
94 //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
95 //Test de la taille du vecteur firing
96 //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
97 function r=checkfiring()
98   r=%f
99   for i=1:nb
100     execstr('gui='+Blocs(i))
101     o=gui('define');
102     dpt=o.model.firing;
103     if length(o.model.firing)==[] then
104       mprintf('check firing failed for block '+Blocs(i));
105       r=%t
106       return;
107     end
108     clear gui
109   end
110 endfunction
112 //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
113 //Test de coherence des ports entre model et graphic cas define
114 //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
115 function r=check_define_ports()
116   r=%f
117   for i=1:nb
118     execstr('gui='+Blocs(i))
119     o=gui('define');
120     opim=o.model.in;
121     opom=o.model.out;
122     opeim=o.model.evtin;
123     opeom=o.model.evtout;
124     opig=o.graphics.pin;
125     opog=o.graphics.pout;
126     opeig=o.graphics.pein;
127     opeog=o.graphics.peout;
129     if size(opim,1)<>size(opig,1) | ..
130           size(opom,1)<>size(opog,1)  | ..
131           size(opeim,1)<>size(opeig,1)  | ..
132           size(opeom,1)<>size(opeog,1) then
133       mprintf('check  define_ports failed for block '+Blocs(i));
134       r=%t
135       return;
136     end
137     clear gui
138   end
139 endfunction
141 //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
142 //Test de coherence des ports entre model et graphic : cas set
143 //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
144 function r=check_set_ports()
145   r=%f
146   prot=funcprot();
147   funcprot(0);
148   scicos_getvalue=setvalue;
149   funcprot(prot);
151   for i=1:nb
152     if and(Blocs(i)~=["SUPER_f" "func_block" "scifunc_block" "GENERAL_f" "SOM_f" "CURV_f" "LOOKUP_f"]) then
153       if Blocs(i)=='fortran_block'|Blocs(i)=='c_block' then
154         exec('SCI/modules/scicos_blocks/macros/'+Blocs(i)+'.sci')
155       else
156         exec('SCI/modules/scicos_blocks/macros/'+Blocs(i)+'.sci')
157       end
158       execstr('gui='+Blocs(i))
159       o=gui('define');
160       o_n=gui('set',o);
161       o_npim=o_n.model.in;
162       o_npom=o_n.model.out;
163       o_npeim=o_n.model.evtin;
164       o_npeom=o_n.model.evtout;
165       o_npig=o_n.graphics.pin;
166       o_npog=o_n.graphics.pout;
167       o_npeig=o_n.graphics.pein;
168       o_npeog=o_n.graphics.peout;
169       if size(o_npim,1)<>size(o_npig,1) | ..
170             size(o_npom,1)<>size(o_npog,1)  | ..
171             size(o_npeim,1)<>size(o_npeig,1)| ..
172             size(o_npeom,1)<>size(o_npeog,1) then
173         mprintf('check set_ports failed for block '+Blocs(i));
174         r=%t
175         return;
176       end
177       clear gui
178     end
179   end
180 endfunction