From fc4c43f0f5ef32f0e7226d49da486da573e88b8a Mon Sep 17 00:00:00 2001 From: Anthony Geay Date: Fri, 25 Sep 2015 09:00:57 +0200 Subject: [PATCH] Apply modifications according to changes in KERNEL API. --- src/runtime/DistributedPythonNode.cxx | 2 +- src/runtime/PythonNode.cxx | 4 +- .../Test/StdAloneYacsLoaderTest1.py | 41 +++++++++++++++++++ 3 files changed, 44 insertions(+), 3 deletions(-) diff --git a/src/runtime/DistributedPythonNode.cxx b/src/runtime/DistributedPythonNode.cxx index 96263202d..7e5a60788 100644 --- a/src/runtime/DistributedPythonNode.cxx +++ b/src/runtime/DistributedPythonNode.cxx @@ -134,7 +134,7 @@ void DistributedPythonNode::load() } else { - Engines::PyNode_var dftPyScript(objContainer->getDefaultPyNode()); + Engines::PyNode_var dftPyScript(objContainer->getDefaultPyNode(getName().c_str())); if(CORBA::is_nil(dftPyScript)) _pynode = objContainer->createPyNode(getName().c_str(),getScript().c_str()); else diff --git a/src/runtime/PythonNode.cxx b/src/runtime/PythonNode.cxx index 7c23295e3..3a448d3f6 100644 --- a/src/runtime/PythonNode.cxx +++ b/src/runtime/PythonNode.cxx @@ -649,7 +649,7 @@ void PythonNode::createRemoteAdaptedPyInterpretor(Engines::Container_ptr objCont Engines::PyNodeBase_var PythonNode::retrieveDftRemotePyInterpretorIfAny(Engines::Container_ptr objContainer) const { - Engines::PyScriptNode_var ret(objContainer->getDefaultPyScriptNode()); + Engines::PyScriptNode_var ret(objContainer->getDefaultPyScriptNode(getName().c_str())); if(!CORBA::is_nil(ret)) { ret->Register(); @@ -1117,7 +1117,7 @@ void PyFuncNode::createRemoteAdaptedPyInterpretor(Engines::Container_ptr objCont Engines::PyNodeBase_var PyFuncNode::retrieveDftRemotePyInterpretorIfAny(Engines::Container_ptr objContainer) const { - Engines::PyNode_var ret(objContainer->getDefaultPyNode()); + Engines::PyNode_var ret(objContainer->getDefaultPyNode(getName().c_str())); if(!CORBA::is_nil(ret)) { ret->Register(); diff --git a/src/yacsloader_swig/Test/StdAloneYacsLoaderTest1.py b/src/yacsloader_swig/Test/StdAloneYacsLoaderTest1.py index 776905907..05af10118 100644 --- a/src/yacsloader_swig/Test/StdAloneYacsLoaderTest1.py +++ b/src/yacsloader_swig/Test/StdAloneYacsLoaderTest1.py @@ -129,6 +129,47 @@ class StdAloneYacsLoaderTest1(unittest.TestCase): self.assertEqual(p.getChildByName("node2").getOutputPort("o1").get(),['aaa','bcbcbc']) pass + def test3(self): + fname="BugInConcurrentLaunchDftCont.xml" + p=self.r.createProc("pr") + ti=p.createType("int","int") + cont=p.createContainer("DefaultContainer","Salome") + cont.setProperty("container_name","FactoryServer") + b=self.r.createBloc("Bloc") ; p.edAddChild(b) + # + nb=4 + outs=[] + for i in xrange(nb): + node=self.r.createScriptNode("Salome","node%d"%i) + node.setExecutionMode("remote") + node.setContainer(cont) + outs.append(node.edAddOutputPort("i",ti)) + node.setScript("i=%d"%i) + b.edAddChild(node) + # + node=self.r.createScriptNode("Salome","nodeEnd") + node.setExecutionMode("remote") + node.setContainer(cont) + res=node.edAddOutputPort("res",ti) + p.edAddChild(node) + l=[] + for i in xrange(nb): + elt="i%d"%i + inp=node.edAddInputPort(elt,ti) ; l.append(elt) + p.edAddChild(node) + p.edAddLink(outs[i],inp) + node.setScript("res="+"+".join(l)) + p.edAddCFLink(b,node) + # + for i in xrange(10): + p.init() + ex = pilot.ExecutorSwig() + self.assertEqual(p.getState(),pilot.READY) + ex.RunW(p,0) + self.assertEqual(res.get(),6) + self.assertEqual(p.getState(),pilot.DONE) + pass + def tearDown(self): del self.r del self.l -- 2.39.2