+#!/usr/bin/env python3
# Copyright (C) 2006-2021 CEA/DEN, EDF R&D
#
# This library is free software; you can redistribute it and/or
import pilot
import SALOMERuntime
import loader
+import salome
import datetime
self.workdir = tempfile.mkdtemp(suffix=".yacstest")
pass
+ def tearDown(self):
+ salome.salome_init()
+ cm = salome.lcc.getContainerManager()
+ cm.ShutdownContainers()
+ salome.dsm.shutdownScopes()
+ 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=os.path.join(self.workdir, "TestSaveLoadRun0.xml")
p=self.r.createProc("pr")
ti=p.createType("int","int")
cont=p.createContainer("DefaultContainer","Salome")
+ # enable WorkloadManager mode because containers are not registered right
+ # in classical mode (4 containers with the same name are launched at the
+ # same time).
+ p.setProperty("executor", "WorkloadManager")
+ cont.setProperty("type", "multi")
cont.setProperty("container_name","FactoryServer")
b=self.r.createBloc("Bloc") ; p.edAddChild(b)
#
cont1.setProperty("name","localhost")
cont1.setProperty("hostname","localhost")
cont1.setProperty("type","multi")
- cont1.setProperty("container_name","container1@")
+ cont1.setProperty("container_name","container1")
#
cont2=p.createContainer("cont2","Salome")
cont2.setProperty("name","localhost")
cont2.setProperty("hostname","localhost")
cont2.setProperty("type","multi")
- cont2.setProperty("container_name","container2@")
+ cont2.setProperty("container_name","container2")
#
td=p.createType("double","double")
ti=p.createType("int","int")
return pickle.loads(strr)
salome.salome_init()
-dsm=salome.naming_service.Resolve("/DataServerManager")
+#dsm=salome.naming_service.Resolve("/DataServerManager")
+dsm = salome.dsm
dss,isCreated=dsm.giveADataScopeTransactionCalled(scopeName)
assert(not isCreated)
wk2.waitFor()
assert(str2Obj(dss.waitForMonoThrRev(wk2))==[11,12])""")
n1.setContainer(cont1)
+ n1.setExecutionMode("remote")
#
n2=r.createScriptNode("","n2")
n2_sn=n2.edAddInputPort("scopeName",ts)
return pickle.loads(strr)
salome.salome_init()
-dsm=salome.naming_service.Resolve("/DataServerManager")
+#dsm=salome.naming_service.Resolve("/DataServerManager") #doesn't work in ssl
+dsm = salome.dsm # works in ssl
dss,isCreated=dsm.giveADataScopeTransactionCalled(scopeName)
assert(not isCreated)
time.sleep(3.)
t1.addKeyValueInVarErrorIfAlreadyExistingNow(obj2Str("ef"),obj2Str([11,12]))
""")
n2.setContainer(cont2)
+ n2.setExecutionMode("remote")
#
p.edAddChild(n0)
p.edAddChild(n1)
pass
if __name__ == '__main__':
- import os,sys
- U = os.getenv('USER')
- with open("/tmp/" + U + "/UnitTestsResult", 'a') as f:
+ dir_test = tempfile.mkdtemp(suffix=".yacstest")
+ file_test = os.path.join(dir_test,"UnitTestsResult")
+ with open(file_test, 'a') as f:
f.write(" --- TEST src/yacsloader: testSaveLoadRun.py\n")
suite = unittest.makeSuite(TestSaveLoadRun)
result=unittest.TextTestRunner(f, descriptions=1, verbosity=1).run(suite)