]> SALOME platform Git repositories - modules/yacs.git/blob - src/yacsloader_swig/Test/testFEDyn.py
Salome HOME
WIP
[modules/yacs.git] / src / yacsloader_swig / Test / testFEDyn.py
1 import pilot
2 import SALOMERuntime
3 import loader
4
5 SALOMERuntime.RuntimeSALOME.setRuntime()
6 r=SALOMERuntime.getSALOMERuntime()
7 p=r.createProc("prTest1")
8 td=p.createType("double","double")
9 ti=p.createType("int","int")
10 cont=p.createContainer("gg","HPSalome")
11 cont.setSizeOfPool(4)
12 cont.setProperty("name","localhost")
13 cont.setProperty("hostname","localhost")
14 ti=p.createType("int","int")
15 tsi=p.createSequenceTc("seqint","seqint",ti)
16 # Level0
17 n0=r.createScriptNode("","n0")
18 o0=n0.edAddOutputPort("o0",tsi)
19 n0.setScript("o0=[ elt for elt in range(8) ]")
20 p.edAddChild(n0)
21 n1=r.createForEachLoopDyn("n1",ti)
22 n10=r.createScriptNode("","n10")
23 n10.setExecutionMode("remote")
24 n10.setContainer(cont)
25 n1.edAddChild(n10)
26 n10.setScript("""
27 import time
28 time.sleep(2)
29 o2=2*i1
30 """)
31 n10.setWeight(4.)
32 i1=n10.edAddInputPort("i1",ti)
33 o2=n10.edAddOutputPort("o2",ti)
34 p.edAddChild(n1)
35 p.edAddLink(o0,n1.edGetSeqOfSamplesPort())
36 p.edAddLink(n1.edGetSamplePort(),i1)
37 p.edAddCFLink(n0,n1)
38 n2=r.createScriptNode("","n2")
39 n2.setScript("o4=i3")
40 i3=n2.edAddInputPort("i3",tsi)
41 o4=n2.edAddOutputPort("o4",tsi)
42 n2.setScript("o4=i3")
43 p.edAddChild(n2)
44 p.edAddCFLink(n1,n2)
45 p.edAddLink(o2,i3)
46 #p.saveSchema(fname)
47 #p=l.load(fname)
48 ex=pilot.ExecutorSwig()
49 assert(p.getState()==pilot.READY)
50 ex.RunW(p,0)
51 assert(p.getState()==pilot.DONE)
52 assert(o4.getPyObj()==[0, 2, 4, 6, 8, 10, 12, 14])