#
import unittest
+import tempfile
+import os
+
import pilot
import SALOMERuntime
import loader
def setUp(self):
SALOMERuntime.RuntimeSALOME.setRuntime()
self.r=SALOMERuntime.getSALOMERuntime()
+ self.workdir = tempfile.mkdtemp(suffix=".yacstest")
pass
def test0(self):
"""First test of HP Container no loop here only the 3 sorts of python nodes (the Distributed is it still used and useful ?) """
- fname="TestSaveLoadRun0.xml"
+ fname=os.path.join(self.workdir, "TestSaveLoadRun0.xml")
nbOfNodes=8
sqrtOfNumberOfTurn=1000 # 3000 -> 3.2s/Node, 1000 -> 0.1s/Node
l=loader.YACSLoader()
def test1(self):
""" HP Container again like test0 but the initialization key of HPContainer is used here."""
- fname="TestSaveLoadRun1.xml"
+ fname=os.path.join(self.workdir, "TestSaveLoadRun1.xml")
nbOfNodes=8
sqrtOfNumberOfTurn=1000 # 3000 -> 3.2s/Node, 1000 -> 0.1s/Node
l=loader.YACSLoader()
"""
script2="""o9=sum(i8)
"""
- fname="TestSaveLoadRun2.xml"
+ fname=os.path.join(self.workdir, "TestSaveLoadRun2.xml")
nbOfNodes=8
sqrtOfNumberOfTurn=1000 # 3000 -> 3.2s/Node, 1000 -> 0.1s/Node
l=loader.YACSLoader()
"""
script2="""o9=sum(i8)
"""
- fname="TestSaveLoadRun3.xml"
+ fname=os.path.join(self.workdir, "TestSaveLoadRun3.xml")
nbOfNodes=8
sqrtOfNumberOfTurn=10
l=loader.YACSLoader()
def test4(self):
"""Non regression test of multi pyScriptNode, pyFuncNode sharing the same HPContainer instance."""
- fname="TestSaveLoadRun4.xml"
+ fname=os.path.join(self.workdir, "TestSaveLoadRun4.xml")
script1="""nb=7
ii=0
o1=nb*[None]
def test5(self):
"""Non regression test 2 of multi pyNode, pyFuncNode sharing the same HPContainer instance."""
- fname="TestSaveLoadRun5.xml"
+ fname=os.path.join(self.workdir, "TestSaveLoadRun5.xml")
script1="""nb=7
ii=0
o1=nb*[None]
pass
def test6(self):
- fname="test6.xml"
+ fname=os.path.join(self.workdir, "test6.xml")
p=self.r.createProc("prTest0")
td=p.createType("double","double")
ti=p.createType("int","int")
pass
def test7(self):
- fname="test7.xml"
+ fname=os.path.join(self.workdir, "test7.xml")
p=self.r.createProc("prTest1")
cont=p.createContainer("gg","Salome")
cont.setProperty("name","localhost")
def test8(self):
from datetime import datetime
- fname="test8.xml"
+ fname=os.path.join(self.workdir, "test8.xml")
p=self.r.createProc("prTest2")
cont=p.createContainer("gg","Salome")
cont.setProperty("name","localhost")
def test9(self):
""" Test of assignation of already computed values for foreach node."""
- fname="test9.xml"
+ fname=os.path.join(self.workdir, "test9.xml")
from datetime import datetime
p=self.r.createProc("prTest2")
cont=p.createContainer("gg","Salome")
pass
def test10(self):
- fname="test10.xml"
+ fname=os.path.join(self.workdir, "test10.xml")
from datetime import datetime
p=self.r.createProc("prTest2")
cont=p.createContainer("gg","Salome")
def test11(self):
"test if we do not restart from the begining of the schema after an error in a foreach"
- fname="test11.xml"
+ fname=os.path.join(self.workdir, "test11.xml")
from datetime import datetime
p=self.r.createProc("prTest2")
cont=p.createContainer("gg","Salome")
def test14(self):
""" Non regression EDF11027. Problem after Save/Load of a foreach node with type pyobj with input "SmplsCollection" manually set before. Correction in convertToYacsObjref from XML->Neutral. Objref can hide a string !"""
- xmlFileName="test14.xml"
+ xmlFileName=os.path.join(self.workdir, "test14.xml")
SALOMERuntime.RuntimeSALOME_setRuntime()
r=pilot.getRuntime()
n0=r.createProc("test23/zeRun")
pass
def test15(self):
- fname="BugInConcurrentLaunchDftCont.xml"
+ #fname=os.path.join(self.workdir, "BugInConcurrentLaunchDftCont.xml")
p=self.r.createProc("pr")
ti=p.createType("int","int")
cont=p.createContainer("DefaultContainer","Salome")
def test19(self):
"""This test checks the mechanism of YACS that allow PythonNodes to know their DynParaLoop context."""
- fname="test19.xml"
+ fname=os.path.join(self.workdir, "test19.xml")
l=loader.YACSLoader()
#
p=self.r.createProc("PROC")
def test21(self):
"test if we restart from a saved state in a foreach loop"
- fname="test21.xml"
- xmlStateFileName="saveState21.xml"
+ fname=os.path.join(self.workdir, "test21.xml")
+ xmlStateFileName=os.path.join(self.workdir, "saveState21.xml")
from datetime import datetime
p=self.r.createProc("prTest21")
cont=p.createContainer("gg","Salome")
p.getChildByName("n1").assignPassedResults(a,b,c)
p.exUpdateState();
#
- startt=datetime.now()
ex.RunW(p,0,False)
- t1=datetime.now()-startt
#
self.assertEqual(n1.getState(),pilot.DONE)
self.assertEqual(p.getState(),pilot.DONE)
self.assertEqual(p.getChildByName("n2").getOutputPort("o4").getPyObj(),[0,2,10,15,20,25])
- pass
- pass
- def test22(self):
- """Restart from a saved state in a foreach loop without using assignPassedResults.
- This test uses the files test21.xml and saveState21.xml produced by test21.
- """
- fname="test21.xml"
- xmlStateFileName="saveState21.xml"
+ # Restart from a saved state in a foreach loop without using assignPassedResults.
+ # This test uses the files test21.xml and saveState21.xml produced by test21.
ex=pilot.ExecutorSwig()
l=loader.YACSLoader()
def test23(self):
""" test focused on weight attribut after a dump and reload from a xml file
"""
- fname="test23.xml"
- xmlStateFileName="saveState23.xml"
- from datetime import datetime
+ fname=os.path.join(self.workdir, "test23.xml")
p=self.r.createProc("prTest23")
cont=p.createContainer("gg","Salome")
cont.setProperty("name","localhost")
pass
def test25(self):
- fname="test25.xml"
+ fname=os.path.join(self.workdir, "test25.xml")
p=self.r.createProc("p0")
tp=p.createInterfaceTc("python:obj:1.0","pyobj",[])
n1_0_sc=self.r.createScriptNode("Salome","n1_0_sc")
import os
content_of_file = b'DDkShXM2PeNCndPqRfnYX5EAt.GaRgPq7dNqtfnYZgvqh=kQf7moXCE2z5lED.tCxgM2RcOqdfl29ePC9YnAx3uaGetqF5lE=.E2D0uS1eM2RcOqdfl2FjPqBYE2pdNq7fl2FjPqBYHoT3.2=.Ew9dsCdUFqVfOaj2Eaxet4BeN2=BOKRWOwF0PqfYMqdYHoT3.2=.EwxYNKHeNa=5O4heOwF4OKBeN2=7Maj2FaZXOaFDFwI.E2=1kibUua=5O4heOwF7Nq9YE2pdNq7fl2ZbMiFDFwI.E2=1nqFZNCdaM2RcOqdfl21dvqFZN2=7Maj2ECbWsKxbNQxYNKL6lo12HoT3.2=.EwneOCfeNqleM2RcOqdfl2BdPC9hcCbjN4Jfd2=APqRWuaRWuwF.uSxYNKFDFwI.E2=1kibUua=5O4heOwFAsiHdNqtYE2pdNq7fl2nWtCZbPaFDFwI.E2=1n4xbMiVdNqdYs2RcOqdfl26eNaVesq9g9qRWu4ZbOaHYFwI.E2=.E2=1kCHjMCdYsibUFqVfOaj2H4xbMiVdNqdYvupdNq7YE2PcMqfeOwFAe4BjOqdYHoT3.2=.E2=.Ew1Yvq1eNC9ds2RcOqdfl2VWsiVgMKdWPuxbPulXPqRdNqtYE2PcMqfeOwF.l2x5lE=.E2=.E2D.tCxUuaHWuS=5O4heOwFAPqRWu4ZbOaHjdqVfOaF.FiVXOidfl2McP49jNCbgeaHauaHYHoT3.2=.E2=.Ew1Yvq1eNC9ds2RcOqdfl2RcOqdYE2PcMqfeOwF1PqlcMq3jPC9YHoT3.2=.EwxAPqRWu4ZbOaHblE=.E2D2MqxgM2RcOqdfl29ePC9YnAx9O4ZbN2T3.2=.E2=.EwFXPqlUFqVfOaj2EidgsiHAnoHetqF5lE=.E2=.E2=.E2D4PqHeO4lVM2RcOqdfl29ePC9YnAx48WF.FqFYu4RgMKj2FAF.EqxjMCueOKtVMij2GoX2E29dsCdfl21dvqFZN2T3.2=.E2=.E2=.E2=.EwZbMqZbOa=5O4heOwF0uanWtAnDFCfbPuZbMidYtqVXN2T3.2=.E2=.E2=.E2=.E2=.EwngNCZUsiT1n4xWOaT1m2qg6WUWe0qjMAj7MAp7OAifdwDDH4xWOaT1nongNCZUsiT3.2=.E2=.E2=.E2=.E2=.EwZbMCxYsi=5O4heOwF7MAF.EibUuaj2ECbjN4JYHoT3.2=.E2=.E2=.E2=.E2=.EwZbMCxYsi=5O4heOwF7OAF.EibUuaj2ECbjN4JYHoT3.2=.E2=.E2=.E2=.E2=.Ewxesi1jNC9UFqVfOaj2Hq12E29dsCdfl21dvqFZN2x5lE=.E2=.E2=.E2=.E2DDGKRXOKReNwI.E2=.E2=.E2=1noNjNCdcP43blE=.E2=.E2=.E2D0O49cMqZbPK=APqRWtCxXOwF4O4BguaF5lE=.E2=.E2=.E2=.E2D4NCxfNqxWOaT0uanWtAnDFWcXnoNYvqhbPq7eNw=1laHjOq1jNC9bmaPcMqmcOq1XOanXnoNYvqhUvqHWtwI.E2=.E2=.E2=.E2=1kixbPq7eNw9ePC9YnAx48WR0uanWtAnDFCfbPuZbMidYtqVXMwx0vqRjMadbk2D0vq1jNC9bmK11no9jMCxYsiT3.2=.E2=.E2=.Ewx0O49cMqZbPKT3.2=.E2=.Ewx2MqxgNwI.E2=.E2=1mKRXOKReM2RcOqdfl29ePC9YnAxAMKdgPKF5lE=.E2=.E2=.E2DAv4HdMC9bkwljMadbkwVBf06c6eUhfqX9mKH9euT1noljMadbkwxAv4HdMC9blE=.E2=.E2=.E2D7Nq1jNC9UFqVfOaj2GKH2E29dsCdfl2BdPC9hcCbjN4Jfd2x5lE=.E2=.E2=.E2DDOi9UvqHWs2RcOqdfl2xcl2=0uS1eOwF1OKnWvO1dvqFZOuFDFwI.E2=.E2=1noZbMqZbOaT3.2=.E2=.EwljNq9YvqBbk2D4NCxfNqxWOaT0uanWtAnDFCfbMwx4NCxfNqxWOaT.Ew9jNqxWOaT0uanWtAnDH43eP4pXno9jNqxWOaT.EwxAPqRWtCxXNwI.E2=.E2=1kaVWu4BdNqpUH4xbMiHjMqj2FaVXPCdYFwI.E2=.E2=.E2=1laHjOqRjMadbkidgsiHAnoHetqR0uanWtAnDFWcbEidgsiHAnoHetqydNq9eNCRcMqDDFaHjOqRjMadbk2D4NCxfMCxYsiTDMADDFaHjOq1jNC9blE=.E2=.E2=.E2D0vqRjMadbkidgsiHAnolVOalhMwx0vqRjMadbk2D0vq1jNC9bmKH1no9jMCxYsiT3.2=.E2=.Ewx0O49cMqZbPKT3.2=.Ewx2MqxgNwI.E2=1kCVYu4heMidYtwI.E2=.E2=1kixbPq7eNw9ePC9YnAx9O4ZbNo9ePC9YnAx2uiRbEidgsiHAnoMe6wx0vqRjMadbkw9jMCxYsiT5N4EYu4RgMKdgswx0vq1jNC9blE=.E2=.E2D4u4BeuaT1mKRWtwH1noZbMiT1noPcMqfeNwI.E2=1no1cNCVfOa9eNCT3.2=.Ew1cNCVfOa9eNCT3.2=.E2=.Ew9jNqxWOaT0uanWtAnDGqVdNqR0uanWtAnDFCfbNo9ePC9YnAx48WDDEixbPq7eNwD0vq1jNC9bn8hUsqng9qBXOalWuKxbMwx0vq1jNC9blE=.E2=.E2D4u4BeuaT1m4HYu4bbkw7cMiVblED4u4BeuaT1nC9YuKRiNwAUkmI5EwxAsiHdNqtbkwx4u4BeuaT3.wPcMqfeNwDAsiHdNqtbkmX17ER1nonWtCZbPaT1noPcMqfeNwI1liVXOidbkwnWtCZbPaT17AAZ=oDDHC9YuKRiNwDDFiVXOidblED4u4BeuaT1nC9YuKRiNwAgkmI5EwxAsiHdNqtbkwx4u4BeuaT3.wPcMqfeNwDAsiHdNqtbkm917ER1nonWtCZbPaT1noPcMqfeNwI1liVXOidbkwnWtCZbPaT18gAZ=oDDHC9YuKRiNwDDFiVXOidblED4u4BeuaT1nC9YuKRiNwAakmI5EwxAsiHdNqtbkwx4u4BeuaT3.wPcMqfeNwDAsiHdNqtbkmv17ER1nonWtCZbPaT1noPcMqfeNwI1liVXOidbkwnWtCZbPaT16QAZ=oDDHC9YuKRiNwDDFiVXOidblED4u4BeuaT1nC9YuKRiNwAdkmI5EwxAsiHdNqtbkwx4u4BeuaT3.wx0O49cNwDDG4HYu4bbkwx4u4BeuaT3.2=.Ewx.u4HcOqdWuaHblE=.E2D.u4HcOqdWuaHblE=.E2=.E2D0vqRjMadbkidgsiHAnohcOKRbEidgsiHAnoHetqR0uanWtAnDFWcbEidgsiHAnoHetqydNq9eNCRcMqDDEixbPq7eNwD0vq1jNC9bmKX1no9jMCxYsiT3.2=.E2=.EwPcMqfeNwDDN4JYuaNbkwVBf06c6eUhcmn17ER9euT1noxYNKHeNaT1noPcMqfeNwI.E2=1no1cNCVfOa9eNCT3.wx.tCxgNwI3'
- fname="test_930.xml"
+ fname=os.path.join(self.workdir, "test_930.xml")
with open(fname,"wb") as f:
f.write( pilot.FromBase64Swig(content_of_file) )