salome.kernel 9.14.0__cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of salome.kernel might be problematic. Click here for more details.

Files changed (400) hide show
  1. salome/bin/salome/IDLparser.py +882 -0
  2. salome/bin/salome/KernelHelpersUseCases +0 -0
  3. salome/bin/salome/NSparam.py +51 -0
  4. salome/bin/salome/ORBConfigFile.py +55 -0
  5. salome/bin/salome/SALOMEDS_Client +0 -0
  6. salome/bin/salome/SALOMEDS_Server +0 -0
  7. salome/bin/salome/SALOME_ConnectionManagerServer +0 -0
  8. salome/bin/salome/SALOME_Container +0 -0
  9. salome/bin/salome/SALOME_ContainerPy.py +397 -0
  10. salome/bin/salome/SALOME_Container_No_NS_Serv +0 -0
  11. salome/bin/salome/SALOME_Container_No_NS_Serv_OutProcess +0 -0
  12. salome/bin/salome/SALOME_Container_No_NS_Serv_OutProcess_FT +0 -0
  13. salome/bin/salome/SALOME_Container_No_NS_Serv_OutProcess_Replay +0 -0
  14. salome/bin/salome/SALOME_Container_No_NS_Serv_OutProcess_Replay_FT +0 -0
  15. salome/bin/salome/SALOME_DataScopeServer +0 -0
  16. salome/bin/salome/SALOME_DataScopeServer_SSL +0 -0
  17. salome/bin/salome/SALOME_LauncherServer +0 -0
  18. salome/bin/salome/SALOME_Logger_Server +0 -0
  19. salome/bin/salome/SALOME_ModuleCatalog_Client +0 -0
  20. salome/bin/salome/SALOME_ModuleCatalog_Server +0 -0
  21. salome/bin/salome/SALOME_Registry_Server +0 -0
  22. salome/bin/salome/TestComponentPy.py +71 -0
  23. salome/bin/salome/TestContainer +0 -0
  24. salome/bin/salome/TestContainerManager +0 -0
  25. salome/bin/salome/TestLauncher +0 -0
  26. salome/bin/salome/TestLifeCycleCORBA.py +89 -0
  27. salome/bin/salome/TestLogger +0 -0
  28. salome/bin/salome/TestLogger.py +27 -0
  29. salome/bin/salome/TestModuleCatalog.py +87 -0
  30. salome/bin/salome/Test_LifeCycleCORBA +0 -0
  31. salome/bin/salome/VERSION +3 -0
  32. salome/bin/salome/addToKillList.py +35 -0
  33. salome/bin/salome/app-quickstart.py +288 -0
  34. salome/bin/salome/appli/.bashrc +50 -0
  35. salome/bin/salome/appli/extra.env.d/001.py +39 -0
  36. salome/bin/salome/appli/python_test_driver.py +148 -0
  37. salome/bin/salome/appli/salome +193 -0
  38. salome/bin/salome/appli/salome_instance.py +31 -0
  39. salome/bin/salome/appli/salome_test_driver.py +150 -0
  40. salome/bin/salome/appli/salome_test_driver_gui.py +82 -0
  41. salome/bin/salome/appli_clean.sh +53 -0
  42. salome/bin/salome/appli_gen.py +606 -0
  43. salome/bin/salome/dummyexe_loggerTraceCollector +0 -0
  44. salome/bin/salome/envSalome.py +59 -0
  45. salome/bin/salome/killSalome.py +48 -0
  46. salome/bin/salome/killSalomeWithPort.py +56 -0
  47. salome/bin/salome/prepare_generating_doc.py +104 -0
  48. salome/bin/salome/pythonpath_reduction.py +184 -0
  49. salome/bin/salome/runConsole.py +39 -0
  50. salome/bin/salome/runIDLparser +58 -0
  51. salome/bin/salome/runRemote.py +101 -0
  52. salome/bin/salome/runSalome.py +30 -0
  53. salome/bin/salome/runSalomeNoServer.py +24 -0
  54. salome/bin/salome/runSalomeOld.py +36 -0
  55. salome/bin/salome/runSalomeOnDemand.py +41 -0
  56. salome/bin/salome/salomeContext.py +36 -0
  57. salome/bin/salome/salome_process_attach +44 -0
  58. salome/bin/salome/salome_process_launcher +58 -0
  59. salome/bin/salome/setenv.py +32 -0
  60. salome/bin/salome/showNS.py +33 -0
  61. salome/bin/salome/test/kernel/ArgvKeeper/CTestTestfile.cmake +31 -0
  62. salome/bin/salome/test/kernel/ArgvKeeper/TestArgvKeeper +0 -0
  63. salome/bin/salome/test/kernel/ArgvKeeper/test_ArgvKeeper.py +34 -0
  64. salome/bin/salome/test/kernel/CTestTestfile.cmake +49 -0
  65. salome/bin/salome/test/kernel/Container/CTestTestfile.cmake +29 -0
  66. salome/bin/salome/test/kernel/Container/testProxy.py +291 -0
  67. salome/bin/salome/test/kernel/Container/testcontainer.py +106 -0
  68. salome/bin/salome/test/kernel/KernelHelpers/CTestTestfile.cmake +31 -0
  69. salome/bin/salome/test/kernel/KernelHelpers/KernelHelpersUnitTests.hxx +58 -0
  70. salome/bin/salome/test/kernel/KernelHelpers/TestKernelHelpers +0 -0
  71. salome/bin/salome/test/kernel/KernelHelpers/TestKernelHelpers.py +55 -0
  72. salome/bin/salome/test/kernel/Launcher/CTestTestfile.cmake +43 -0
  73. salome/bin/salome/test/kernel/Launcher/TestSSLAttached.py +110 -0
  74. salome/bin/salome/test/kernel/Launcher/launcher_use_case.py +65 -0
  75. salome/bin/salome/test/kernel/Launcher/testCrashProofContainer.py +423 -0
  76. salome/bin/salome/test/kernel/Launcher/testPerfLogManager1.py +382 -0
  77. salome/bin/salome/test/kernel/Launcher/test_launcher.py +674 -0
  78. salome/bin/salome/test/kernel/Launcher/test_stress.sh +45 -0
  79. salome/bin/salome/test/kernel/Launcher_SWIG/CTestTestfile.cmake +30 -0
  80. salome/bin/salome/test/kernel/Launcher_SWIG/test_swig_launcher.py +706 -0
  81. salome/bin/salome/test/kernel/LifeCycleCORBA/CTestTestfile.cmake +27 -0
  82. salome/bin/salome/test/kernel/LifeCycleCORBA/LifeCycleCORBATest.hxx +105 -0
  83. salome/bin/salome/test/kernel/LifeCycleCORBA/TestLifeCycleCORBA +0 -0
  84. salome/bin/salome/test/kernel/LifeCycleCORBA/TestLifeCycleCORBA.py +93 -0
  85. salome/bin/salome/test/kernel/LifeCycleCORBA_SWIG/CTestTestfile.cmake +40 -0
  86. salome/bin/salome/test/kernel/LifeCycleCORBA_SWIG/CatalogResources_resource.xml +15 -0
  87. salome/bin/salome/test/kernel/LifeCycleCORBA_SWIG/LifeCycleCORBA_SWIGTest.py +217 -0
  88. salome/bin/salome/test/kernel/LifeCycleCORBA_SWIG/SALOME_TestComponentPy.py +49 -0
  89. salome/bin/salome/test/kernel/LifeCycleCORBA_SWIG/TestLifeCycleCORBA_SWIG.py +100 -0
  90. salome/bin/salome/test/kernel/LifeCycleCORBA_SWIG/testcontainermanager.py +88 -0
  91. salome/bin/salome/test/kernel/LifeCycleCORBA_SWIG/testresourcemanager.py +155 -0
  92. salome/bin/salome/test/kernel/NamingService/CTestTestfile.cmake +28 -0
  93. salome/bin/salome/test/kernel/NamingService/NamingServiceTest.hxx +169 -0
  94. salome/bin/salome/test/kernel/NamingService/TestNamingService +0 -0
  95. salome/bin/salome/test/kernel/NamingService/TestNamingService.py +64 -0
  96. salome/bin/salome/test/kernel/SALOMEDS/CTestTestfile.cmake +27 -0
  97. salome/bin/salome/test/kernel/SALOMEDS/SALOMEDSTest.hxx +192 -0
  98. salome/bin/salome/test/kernel/SALOMEDS/TestSALOMEDS +0 -0
  99. salome/bin/salome/test/kernel/SALOMEDS/TestSALOMEDS.py +55 -0
  100. salome/bin/salome/test/kernel/SALOMEDSImpl/CTestTestfile.cmake +27 -0
  101. salome/bin/salome/test/kernel/SALOMEDSImpl/SALOMEDSImplTest.hxx +51 -0
  102. salome/bin/salome/test/kernel/SALOMEDSImpl/TestSALOMEDSImpl +0 -0
  103. salome/bin/salome/test/kernel/SALOMEDSImpl/TestSALOMEDSImpl.py +55 -0
  104. salome/bin/salome/test/kernel/SALOMELocalTrace/CTestTestfile.cmake +27 -0
  105. salome/bin/salome/test/kernel/SALOMELocalTrace/SALOMELocalTraceTest.hxx +59 -0
  106. salome/bin/salome/test/kernel/SALOMELocalTrace/TestSALOMELocalTrace +0 -0
  107. salome/bin/salome/test/kernel/SALOMELocalTrace/TestSALOMELocalTrace.py +40 -0
  108. salome/bin/salome/test/kernel/SALOMETraceCollector/CTestTestfile.cmake +27 -0
  109. salome/bin/salome/test/kernel/SALOMETraceCollector/SALOMETraceCollectorTest.hxx +51 -0
  110. salome/bin/salome/test/kernel/SALOMETraceCollector/TestSALOMETraceCollector +0 -0
  111. salome/bin/salome/test/kernel/SALOMETraceCollector/TestSALOMETraceCollector.py +57 -0
  112. salome/bin/salome/test/kernel/UnitTests/CTestTestfile.cmake +28 -0
  113. salome/bin/salome/test/kernel/UnitTests/UnitTests +0 -0
  114. salome/bin/salome/test/kernel/UnitTests/UnitTests.py +89 -0
  115. salome/bin/salome/test/kernel/Utils/CTestTestfile.cmake +27 -0
  116. salome/bin/salome/test/kernel/Utils/TestUtils +0 -0
  117. salome/bin/salome/test/kernel/Utils/TestUtils.py +55 -0
  118. salome/bin/salome/test/kernel/Utils/UtilsTest.hxx +58 -0
  119. salome/bin/salome/test/kernel/lib/libLifeCycleCORBATest.so +0 -0
  120. salome/bin/salome/test/kernel/lib/libNamingServiceTest.so +0 -0
  121. salome/bin/salome/test/kernel/lib/libSALOMEDSImplTest.so +0 -0
  122. salome/bin/salome/test/kernel/lib/libSALOMEDSTest.so +0 -0
  123. salome/bin/salome/test/kernel/lib/libSALOMELocalTraceTest.so +0 -0
  124. salome/bin/salome/test/kernel/lib/libSALOMETraceCollectorTest.so +0 -0
  125. salome/bin/salome/test/kernel/lib/libSalomeKernelHelpersTest.so +0 -0
  126. salome/bin/salome/test/kernel/lib/libUtilsTest.so +0 -0
  127. salome/bin/salome/testDF +0 -0
  128. salome/bin/salome/testDS +0 -0
  129. salome/bin/salome/virtual_salome.py +38 -0
  130. salome/bin/salome/waitContainers.py +82 -0
  131. salome/bin/salome/waitNS.py +31 -0
  132. salome/kernel/ArgvKeeper.py +132 -0
  133. salome/kernel/Calcium_Ports_idl.py +645 -0
  134. salome/kernel/DSC_Engines_idl.py +443 -0
  135. salome/kernel/Engines/__init__.py +24 -0
  136. salome/kernel/Engines__POA/__init__.py +24 -0
  137. salome/kernel/Help.py +141 -0
  138. salome/kernel/KernelBasis.py +463 -0
  139. salome/kernel/KernelContainer.py +81 -0
  140. salome/kernel/KernelDS.py +87 -0
  141. salome/kernel/KernelLauncher.py +117 -0
  142. salome/kernel/KernelLogger.py +75 -0
  143. salome/kernel/KernelModuleCatalog.py +76 -0
  144. salome/kernel/KernelSDS.py +92 -0
  145. salome/kernel/KernelServices.py +105 -0
  146. salome/kernel/LifeCycleCORBA.py +92 -0
  147. salome/kernel/Logger_idl.py +89 -0
  148. salome/kernel/NSTEST/__init__.py +13 -0
  149. salome/kernel/NSTEST__POA/__init__.py +13 -0
  150. salome/kernel/NSparam_impl.py +50 -0
  151. salome/kernel/NamingService.py +365 -0
  152. salome/kernel/ORBConfigFile_impl.py +102 -0
  153. salome/kernel/Palm_Ports_idl.py +162 -0
  154. salome/kernel/PortManager.py +259 -0
  155. salome/kernel/Ports/Calcium_Ports/__init__.py +13 -0
  156. salome/kernel/Ports/Palm_Ports/__init__.py +13 -0
  157. salome/kernel/Ports/__init__.py +18 -0
  158. salome/kernel/Ports__POA/Calcium_Ports/__init__.py +13 -0
  159. salome/kernel/Ports__POA/Palm_Ports/__init__.py +13 -0
  160. salome/kernel/Ports__POA/__init__.py +18 -0
  161. salome/kernel/PyInterp.py +99 -0
  162. salome/kernel/Registry/__init__.py +13 -0
  163. salome/kernel/Registry__POA/__init__.py +13 -0
  164. salome/kernel/SALOME/__init__.py +19 -0
  165. salome/kernel/SALOMEDS/__init__.py +14 -0
  166. salome/kernel/SALOMEDS_Attributes_idl.py +2288 -0
  167. salome/kernel/SALOMEDS__POA/__init__.py +14 -0
  168. salome/kernel/SALOMEDS_idl.py +1590 -0
  169. salome/kernel/SALOMEWrappedStdType.py +383 -0
  170. salome/kernel/SALOME_Comm_idl.py +1045 -0
  171. salome/kernel/SALOME_CommonTypes_idl.py +69 -0
  172. salome/kernel/SALOME_ComponentPy.py +338 -0
  173. salome/kernel/SALOME_Component_idl.py +962 -0
  174. salome/kernel/SALOME_Container.py +242 -0
  175. salome/kernel/SALOME_ContainerHelper.py +840 -0
  176. salome/kernel/SALOME_ContainerManager_idl.py +236 -0
  177. salome/kernel/SALOME_DriverPy.py +86 -0
  178. salome/kernel/SALOME_Embedded_NamingService.py +41 -0
  179. salome/kernel/SALOME_Embedded_NamingService_ClientPy.py +59 -0
  180. salome/kernel/SALOME_Embedded_NamingService_idl.py +125 -0
  181. salome/kernel/SALOME_Exception_idl.py +75 -0
  182. salome/kernel/SALOME_ExternalServerLauncher_idl.py +199 -0
  183. salome/kernel/SALOME_GenericObj_idl.py +154 -0
  184. salome/kernel/SALOME_GlobalsImpl.py +38 -0
  185. salome/kernel/SALOME_Launcher_idl.py +327 -0
  186. salome/kernel/SALOME_Locker_idl.py +185 -0
  187. salome/kernel/SALOME_LogManager.py +103 -0
  188. salome/kernel/SALOME_LogManager_idl.py +348 -0
  189. salome/kernel/SALOME_Logger/__init__.py +13 -0
  190. salome/kernel/SALOME_Logger__POA/__init__.py +13 -0
  191. salome/kernel/SALOME_MPIObject_idl.py +100 -0
  192. salome/kernel/SALOME_ModuleCatalog/__init__.py +13 -0
  193. salome/kernel/SALOME_ModuleCatalog__POA/__init__.py +13 -0
  194. salome/kernel/SALOME_ModuleCatalog_idl.py +624 -0
  195. salome/kernel/SALOME_NamingServicePy.py +313 -0
  196. salome/kernel/SALOME_PACOExtension_idl.py +292 -0
  197. salome/kernel/SALOME_ParamPorts_idl.py +102 -0
  198. salome/kernel/SALOME_Parametric_idl.py +154 -0
  199. salome/kernel/SALOME_Ports_idl.py +347 -0
  200. salome/kernel/SALOME_PyNode.py +1557 -0
  201. salome/kernel/SALOME_PyNode_idl.py +387 -0
  202. salome/kernel/SALOME_Registry_idl.py +155 -0
  203. salome/kernel/SALOME_ResourcesManager_idl.py +215 -0
  204. salome/kernel/SALOME_SDS_idl.py +1181 -0
  205. salome/kernel/SALOME_Session_idl.py +214 -0
  206. salome/kernel/SALOME_TYPES/__init__.py +14 -0
  207. salome/kernel/SALOME_TYPES__POA/__init__.py +14 -0
  208. salome/kernel/SALOME_TestComponent_idl.py +121 -0
  209. salome/kernel/SALOME_TestModuleCatalog/__init__.py +13 -0
  210. salome/kernel/SALOME_TestModuleCatalog__POA/__init__.py +13 -0
  211. salome/kernel/SALOME_TestModuleCatalog_idl.py +194 -0
  212. salome/kernel/SALOME_Trace.py +96 -0
  213. salome/kernel/SALOME_Types_idl.py +81 -0
  214. salome/kernel/SALOME__POA/__init__.py +19 -0
  215. salome/kernel/SALOME_utilities.py +63 -0
  216. salome/kernel/SalomeSDSClt.py +552 -0
  217. salome/kernel/TestKiller.py +76 -0
  218. salome/kernel/Utils_Identity.py +93 -0
  219. salome/kernel/_ArgvKeeper.so +0 -0
  220. salome/kernel/_KernelBasis.so +0 -0
  221. salome/kernel/_KernelContainer.so +0 -0
  222. salome/kernel/_KernelDS.so +0 -0
  223. salome/kernel/_KernelLauncher.so +0 -0
  224. salome/kernel/_KernelLogger.so +0 -0
  225. salome/kernel/_KernelModuleCatalog.so +0 -0
  226. salome/kernel/_KernelSDS.so +0 -0
  227. salome/kernel/_KernelServices.so +0 -0
  228. salome/kernel/_NamingService.so +0 -0
  229. salome/kernel/_calcium.so +0 -0
  230. salome/kernel/_libNOTIFICATION.so +0 -0
  231. salome/kernel/_libSALOME_Comm.so +0 -0
  232. salome/kernel/_libSALOME_LifeCycleCORBA.so +0 -0
  233. salome/kernel/_pylauncher.so +0 -0
  234. salome/kernel/addToKillList_impl.py +127 -0
  235. salome/kernel/batchmode_salome.py +295 -0
  236. salome/kernel/calcium.py +866 -0
  237. salome/kernel/dsccalcium.py +98 -0
  238. salome/kernel/iparameters.py +255 -0
  239. salome/kernel/kernel_test.py +114 -0
  240. salome/kernel/killSalomeWithPort_impl.py +518 -0
  241. salome/kernel/killSalome_impl.py +94 -0
  242. salome/kernel/launchConfigureParser.py +1234 -0
  243. salome/kernel/launcher_proxy.py +122 -0
  244. salome/kernel/libNOTIFICATION.py +119 -0
  245. salome/kernel/libSALOME_Comm.py +85 -0
  246. salome/kernel/libSALOME_LifeCycleCORBA.py +232 -0
  247. salome/kernel/main.py +8 -0
  248. salome/kernel/nameserver.py +134 -0
  249. salome/kernel/nstest_idl.py +129 -0
  250. salome/kernel/omnipatch.py +136 -0
  251. salome/kernel/orbmodule.py +246 -0
  252. salome/kernel/parseConfigFile.py +261 -0
  253. salome/kernel/pylauncher.py +883 -0
  254. salome/kernel/runConsole_impl.py +224 -0
  255. salome/kernel/runSalomeCommon.py +418 -0
  256. salome/kernel/runSalomeNoServer_impl.py +48 -0
  257. salome/kernel/runSalomeOld_impl.py +603 -0
  258. salome/kernel/runSalomeOnDemand_impl.py +72 -0
  259. salome/kernel/runSalome_impl.py +341 -0
  260. salome/kernel/runSession.py +360 -0
  261. salome/kernel/runTests.py +90 -0
  262. salome/kernel/salome/__init__.py +646 -0
  263. salome/kernel/salome/kernel/__init__.py +111 -0
  264. salome/kernel/salome/kernel/datamodeler.py +363 -0
  265. salome/kernel/salome/kernel/deprecation.py +165 -0
  266. salome/kernel/salome/kernel/diclookup.py +137 -0
  267. salome/kernel/salome/kernel/enumerate.py +232 -0
  268. salome/kernel/salome/kernel/logconfig.py +27 -0
  269. salome/kernel/salome/kernel/logger.py +290 -0
  270. salome/kernel/salome/kernel/parametric/__init__.py +26 -0
  271. salome/kernel/salome/kernel/parametric/compo_utils.py +137 -0
  272. salome/kernel/salome/kernel/parametric/pyscript_utils.py +135 -0
  273. salome/kernel/salome/kernel/parametric/study_exchange_vars.py +285 -0
  274. salome/kernel/salome/kernel/pyunittester.py +184 -0
  275. salome/kernel/salome/kernel/services.py +267 -0
  276. salome/kernel/salome/kernel/studyedit.py +637 -0
  277. salome/kernel/salome/kernel/syshelper.py +116 -0
  278. salome/kernel/salome/kernel/termcolor.py +239 -0
  279. salome/kernel/salome/kernel/testdata.py +159 -0
  280. salome/kernel/salome/kernel/threadhelper.py +385 -0
  281. salome/kernel/salome/kernel/uiexception.py +121 -0
  282. salome/kernel/salome/kernel/unittester.py +89 -0
  283. salome/kernel/salomeContextUtils.py +353 -0
  284. salome/kernel/salomeContext_impl.py +731 -0
  285. salome/kernel/salome_ComponentGUI.py +92 -0
  286. salome/kernel/salome_genericobj.py +44 -0
  287. salome/kernel/salome_iapp.py +206 -0
  288. salome/kernel/salome_instance_impl.py +109 -0
  289. salome/kernel/salome_kernel_utils.py +88 -0
  290. salome/kernel/salome_notebook.py +183 -0
  291. salome/kernel/salome_psutil.py +94 -0
  292. salome/kernel/salome_pynode.py +74 -0
  293. salome/kernel/salome_study.py +347 -0
  294. salome/kernel/salome_test.py +56 -0
  295. salome/kernel/salome_utils.py +563 -0
  296. salome/kernel/salome_version.py +164 -0
  297. salome/kernel/searchFreePort.py +130 -0
  298. salome/kernel/server.py +154 -0
  299. salome/kernel/setenv_impl.py +240 -0
  300. salome/kernel/version_and_config.py +24 -0
  301. salome/share/salome/resources/kernel/Anita semi square.ttf +0 -0
  302. salome/share/salome/resources/kernel/CatalogModulePersonnel.xml_skel +24 -0
  303. salome/share/salome/resources/kernel/CatalogResources.xml +4 -0
  304. salome/share/salome/resources/kernel/KERNELCatalog.xml +102 -0
  305. salome/share/salome/resources/kernel/SALOMEDS_Resources +10 -0
  306. salome/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_LOCAL_MPI_LAN.py +19 -0
  307. salome/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_LOCAL_MPI_MPICH.py +18 -0
  308. salome/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_LOCAL_MPI_OPENMPI.py +21 -0
  309. salome/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_LOCAL_NO_MPI.py +25 -0
  310. salome/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_REMOTE.py +108 -0
  311. salome/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_REMOTE_OLD.py +115 -0
  312. salome/share/salome/resources/kernel/ScriptsTemplate/script_parameters.py +25 -0
  313. salome/share/salome/resources/kernel/app-template/CMakeLists.txt +125 -0
  314. salome/share/salome/resources/kernel/app-template/LICENCE +504 -0
  315. salome/share/salome/resources/kernel/app-template/README +0 -0
  316. salome/share/salome/resources/kernel/app-template/doc/CMakeLists.txt +31 -0
  317. salome/share/salome/resources/kernel/app-template/doc/README +1 -0
  318. salome/share/salome/resources/kernel/app-template/doc/conf.py.in +197 -0
  319. salome/share/salome/resources/kernel/app-template/doc/index.rst +14 -0
  320. salome/share/salome/resources/kernel/app-template/doc/intro.rst +4 -0
  321. salome/share/salome/resources/kernel/app-template/doc/link.rst +4 -0
  322. salome/share/salome/resources/kernel/app-template/resources/CMakeLists.txt +36 -0
  323. salome/share/salome/resources/kernel/app-template/resources/SalomeApp.xml.in +30 -0
  324. salome/share/salome/resources/kernel/app-template/resources/about.png +0 -0
  325. salome/share/salome/resources/kernel/app-template/resources/app_icon.png +0 -0
  326. salome/share/salome/resources/kernel/app-template/resources/app_logo.png +0 -0
  327. salome/share/salome/resources/kernel/app-template/resources/doc/CMakeLists.txt +27 -0
  328. salome/share/salome/resources/kernel/app-template/resources/doc/README +1 -0
  329. salome/share/salome/resources/kernel/app-template/resources/doc/sample.pdf +0 -0
  330. salome/share/salome/resources/kernel/app-template/resources/icon_about.png +0 -0
  331. salome/share/salome/resources/kernel/app-template/resources/splash.png +0 -0
  332. salome/share/salome/resources/kernel/app-template/src/CMakeLists.txt +22 -0
  333. salome/share/salome/resources/kernel/app-template/src/resources/CMakeLists.txt +34 -0
  334. salome/share/salome/resources/kernel/app-template/src/resources/LightApp_images.ts +23 -0
  335. salome/share/salome/resources/kernel/app-template/src/resources/LightApp_msg_en.ts +35 -0
  336. salome/share/salome/resources/kernel/app-template/src/resources/LightApp_msg_fr.ts +35 -0
  337. salome/share/salome/resources/kernel/app-template/src/resources/LightApp_msg_ja.ts +35 -0
  338. salome/share/salome/resources/kernel/app-template/src/tests/CMakeLists.txt +29 -0
  339. salome/share/salome/resources/kernel/app-template/src/tests/README +1 -0
  340. salome/share/salome/resources/kernel/app-template/src/tests/helloWorld.py +1 -0
  341. salome/share/salome/resources/kernel/background.png +0 -0
  342. salome/share/salome/resources/kernel/channel.cfg +278 -0
  343. salome/share/salome/resources/kernel/testLauncher.xml +10 -0
  344. salome.kernel-9.14.0.dist-info/METADATA +24 -0
  345. salome.kernel-9.14.0.dist-info/RECORD +399 -0
  346. salome.kernel-9.14.0.dist-info/WHEEL +6 -0
  347. salome.kernel-9.14.0.dist-info/entry_points.txt +2 -0
  348. salome.kernel.libs/libArgvKeeper-822351d5.so +0 -0
  349. salome.kernel.libs/libCOS4-b4544fb9.so.2.5 +0 -0
  350. salome.kernel.libs/libCOSDynamic4-618dbb1d.so.2.5 +0 -0
  351. salome.kernel.libs/libCalciumC-a61b99a1.so +0 -0
  352. salome.kernel.libs/libDF-281cc999.so +0 -0
  353. salome.kernel.libs/libLauncher-09c39914.so +0 -0
  354. salome.kernel.libs/libLauncherWrapHelper-5ee25ab2.so +0 -0
  355. salome.kernel.libs/libOpUtil-8d37ccc8.so +0 -0
  356. salome.kernel.libs/libRegistry-e4a63a9e.so +0 -0
  357. salome.kernel.libs/libResourcesManager-f4ef9548.so +0 -0
  358. salome.kernel.libs/libSALOMEBasics-f4d874ac.so +0 -0
  359. salome.kernel.libs/libSALOMELocalTrace-a3992e5b.so +0 -0
  360. salome.kernel.libs/libSALOMELog-55805468.so +0 -0
  361. salome.kernel.libs/libSalomeCalcium-6800d8d0.so +0 -0
  362. salome.kernel.libs/libSalomeCatalog-96c5b2bc.so +0 -0
  363. salome.kernel.libs/libSalomeCommunication-451307b4.so +0 -0
  364. salome.kernel.libs/libSalomeContainer-d4557377.so +0 -0
  365. salome.kernel.libs/libSalomeContainerServer-372d46c2.so +0 -0
  366. salome.kernel.libs/libSalomeDS-34cd5abf.so +0 -0
  367. salome.kernel.libs/libSalomeDSCContainer-ee0cf498.so +0 -0
  368. salome.kernel.libs/libSalomeDSCSuperv-f529bca5.so +0 -0
  369. salome.kernel.libs/libSalomeDSCSupervBasic-e6a3b4cf.so +0 -0
  370. salome.kernel.libs/libSalomeDSClient-dc9947bb.so +0 -0
  371. salome.kernel.libs/libSalomeDSImpl-cb508584.so +0 -0
  372. salome.kernel.libs/libSalomeDatastream-755ff3cb.so +0 -0
  373. salome.kernel.libs/libSalomeGenericObj-3ccf0028.so +0 -0
  374. salome.kernel.libs/libSalomeHDFPersist-69945ed0.so +0 -0
  375. salome.kernel.libs/libSalomeIDLKernel-2eb1ed8e.so +0 -0
  376. salome.kernel.libs/libSalomeKernelHelpers-1514c9e0.so +0 -0
  377. salome.kernel.libs/libSalomeLauncher-f5fc4b7e.so +0 -0
  378. salome.kernel.libs/libSalomeLifeCycleCORBA-69902a7b.so +0 -0
  379. salome.kernel.libs/libSalomeLoggerServer-3668e9ae.so +0 -0
  380. salome.kernel.libs/libSalomeNS-a03a7eba.so +0 -0
  381. salome.kernel.libs/libSalomeNotification-66efcfbd.so +0 -0
  382. salome.kernel.libs/libSalomeORB-f304f4df.so +0 -0
  383. salome.kernel.libs/libSalomePalm-4204405e.so +0 -0
  384. salome.kernel.libs/libSalomeResourcesManager-fd411949.so +0 -0
  385. salome.kernel.libs/libSalomeSDS-896ae3bb.so +0 -0
  386. salome.kernel.libs/libSalomeTestComponentEngine-9899af25.so +0 -0
  387. salome.kernel.libs/libTOOLSDS-db8e8629.so +0 -0
  388. salome.kernel.libs/libbatch-6b5b319f.so +0 -0
  389. salome.kernel.libs/libboost_atomic-489c2d94.so.1.81.0 +0 -0
  390. salome.kernel.libs/libboost_filesystem-e610b554.so.1.81.0 +0 -0
  391. salome.kernel.libs/libboost_system-4a7650ea.so.1.81.0 +0 -0
  392. salome.kernel.libs/libcppunit-1-17e77af1.12.so.1.0.0 +0 -0
  393. salome.kernel.libs/libhdf5-60e81d69.so.103.0.0 +0 -0
  394. salome.kernel.libs/liblzma-004595ca.so.5.2.2 +0 -0
  395. salome.kernel.libs/libomniDynamic4-9edc765d.so.2.5 +0 -0
  396. salome.kernel.libs/libomniORB4-4725824d.so.2.5 +0 -0
  397. salome.kernel.libs/libomnithread-99f9d0d3.so.4.1 +0 -0
  398. salome.kernel.libs/libwith_loggerTraceCollector-6b94c51b.so +0 -0
  399. salome.kernel.libs/libwith_loggerTraceCollector.so +0 -0
  400. salome.kernel.libs/libxml2-3998bec4.so.2.9.1 +0 -0
@@ -0,0 +1,674 @@
1
+ #! /usr/bin/env python3
2
+ # -*- coding: utf-8 -*-
3
+ # Copyright (C) 2014-2024 CEA, EDF
4
+ #
5
+ # This library is free software; you can redistribute it and/or
6
+ # modify it under the terms of the GNU Lesser General Public
7
+ # License as published by the Free Software Foundation; either
8
+ # version 2.1 of the License, or (at your option) any later version.
9
+ #
10
+ # This library is distributed in the hope that it will be useful,
11
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
+ # Lesser General Public License for more details.
14
+ #
15
+ # You should have received a copy of the GNU Lesser General Public
16
+ # License along with this library; if not, write to the Free Software
17
+ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18
+ #
19
+ # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
20
+ #
21
+
22
+ import unittest
23
+ import os
24
+ import sys
25
+ import time
26
+ import tempfile
27
+ import errno
28
+
29
+ def mkdir_p(path):
30
+ try:
31
+ os.makedirs(path)
32
+ except OSError as exc: # Python >2.5
33
+ if exc.errno == errno.EEXIST and os.path.isdir(path):
34
+ pass
35
+ else:
36
+ raise
37
+
38
+ # Test of SalomeLauncher.
39
+ # This test should be run in the salome environment, using "salome shell"
40
+ # and a salome application should be running.
41
+ # The test will try to launch batch jobs on every available resources which
42
+ # have the can_launch_batch_jobs parameter set to True.
43
+ # You can use the environment variable USER_CATALOG_RESOURCES_FILE in order to
44
+ # define a customised resource catalog.
45
+ # If YACS_ROOT_DIR is not set, the test of submitting a YACS schema will be
46
+ # skipped.
47
+ class TestCompo(unittest.TestCase):
48
+ @classmethod
49
+ def setUpClass(cls):
50
+ # Prepare the test directory
51
+ from salome.kernel import LifeCycleCORBA
52
+ temp = tempfile.NamedTemporaryFile()
53
+ cls.test_dir = os.path.join(temp.name, "test_dir")
54
+ name = os.path.basename(temp.name)
55
+ temp.close()
56
+ cls.suffix = time.strftime("-%Y-%m-%d-%H-%M-%S")+"-%s"%(os.getpid())
57
+ mkdir_p(cls.test_dir)
58
+
59
+ # load catalogs
60
+ # mc = salome.naming_service.Resolve('/Kernel/ModulCatalog')
61
+ # ior = salome.orb.object_to_string(mc)
62
+ # import SALOMERuntime
63
+ # SALOMERuntime.RuntimeSALOME_setRuntime()
64
+ # salome_runtime = SALOMERuntime.getSALOMERuntime()
65
+ # session_catalog = salome_runtime.loadCatalog("session", ior)
66
+ # salome_runtime.addCatalog(session_catalog)
67
+
68
+ # Get the list of possible ressources
69
+ ressource_param = LifeCycleCORBA.ResourceParameters()
70
+ ressource_param.can_launch_batch_jobs = True
71
+ rm = salome.lcc.getResourcesManager()
72
+ cls.ressources = rm.GetFittingResources(ressource_param)
73
+
74
+ def verifyFile(self, path, content):
75
+ try:
76
+ f = open(path, 'r')
77
+ text = f.read()
78
+ f.close()
79
+ self.assertEqual(text, content)
80
+ except IOError as ex:
81
+ self.fail("IO exception:" + str(ex));
82
+
83
+ def create_JobParameters(self):
84
+ from salome.kernel import LifeCycleCORBA
85
+ job_params = LifeCycleCORBA.JobParameters()
86
+ job_params.wckey="P11N0:SALOME" #needed by edf clusters
87
+ job_params.resource_required = LifeCycleCORBA.ResourceParameters()
88
+ job_params.resource_required.nb_proc = 1
89
+ return job_params
90
+
91
+ ##############################
92
+ # test of python_salome job
93
+ ##############################
94
+ def test_salome_py_job(self):
95
+ case_test_dir = os.path.join(TestCompo.test_dir, "salome_py")
96
+ mkdir_p(case_test_dir)
97
+
98
+ old_dir = os.getcwd()
99
+ os.chdir(case_test_dir)
100
+
101
+ # job script
102
+ script_file = "myScript.py"
103
+ job_script_file = os.path.join(case_test_dir, script_file)
104
+ script_text = """#! /usr/bin/env python3
105
+ # -*- coding: utf-8 -*-
106
+
107
+ # verify import salome
108
+ from salome.kernel import salome
109
+ salome.standalone()
110
+ salome.salome_init()
111
+
112
+ f = open('result.txt', 'w')
113
+ f.write("Salut!")
114
+ f.close()
115
+
116
+ import os
117
+ os.mkdir("subdir")
118
+ f = open(os.path.join("subdir",'autre.txt'), 'w')
119
+ f.write("Hello!")
120
+ f.close()
121
+ """
122
+ f = open(job_script_file, "w")
123
+ f.write(script_text)
124
+ f.close()
125
+
126
+ local_result_dir = os.path.join(case_test_dir, "result_py_job-")
127
+ job_params = self.create_JobParameters()
128
+ job_params.job_type = "python_salome"
129
+ job_params.job_file = job_script_file
130
+ job_params.in_files = []
131
+ job_params.out_files = ["result.txt", "subdir"]
132
+
133
+ launcher = salome.naming_service.Resolve('/SalomeLauncher')
134
+
135
+ for resource in self.ressources:
136
+ print("Testing python_salome job on ", resource)
137
+ job_params.result_directory = local_result_dir + resource
138
+ job_params.job_name = "PyJob" + resource
139
+ job_params.resource_required.name = resource
140
+ # use default working directory for this test
141
+
142
+ job_id = launcher.createJob(job_params)
143
+ launcher.launchJob(job_id)
144
+
145
+ jobState = launcher.getJobState(job_id)
146
+ print("Job %d state: %s" % (job_id,jobState))
147
+ while jobState != "FINISHED" and jobState != "FAILED" :
148
+ time.sleep(5)
149
+ jobState = launcher.getJobState(job_id)
150
+ print("Job %d state: %s" % (job_id,jobState))
151
+ pass
152
+
153
+ self.assertEqual(jobState, "FINISHED")
154
+
155
+ # getJobResults to default directory (result_directory)
156
+ launcher.getJobResults(job_id, "")
157
+ self.verifyFile(os.path.join(job_params.result_directory, "result.txt"),
158
+ "Salut!")
159
+ self.verifyFile(os.path.join(job_params.result_directory,
160
+ "subdir", "autre.txt"),
161
+ "Hello!")
162
+
163
+ # getJobResults to a specific directory
164
+ mydir = os.path.join(case_test_dir, "custom_result_dir" + resource)
165
+ launcher.getJobResults(job_id, mydir)
166
+ self.verifyFile(os.path.join(mydir, "result.txt"), "Salut!")
167
+ self.verifyFile(os.path.join(mydir, "subdir", "autre.txt"), "Hello!")
168
+ pass #for
169
+
170
+ os.chdir(old_dir)
171
+
172
+ ##############################
173
+ # test of command job type
174
+ ##############################
175
+ def test_command(self):
176
+ case_test_dir = os.path.join(TestCompo.test_dir, "command")
177
+ mkdir_p(case_test_dir)
178
+
179
+ # job script
180
+ data_file = "in.txt"
181
+ script_file = "myEnvScript.py"
182
+ script_text = """#! /usr/bin/env python3
183
+ # -*- coding: utf-8 -*-
184
+
185
+ import os,sys
186
+
187
+ text_result = os.getenv("ENV_TEST_VAR","")
188
+
189
+ f = open('result.txt', 'w')
190
+ f.write(text_result)
191
+ f.close()
192
+
193
+ in_f = open("in.txt", "r")
194
+ in_text = in_f.read()
195
+ in_f.close()
196
+
197
+ os.mkdir("copie")
198
+ f = open(os.path.join("copie",'copie.txt'), 'w')
199
+ f.write(in_text)
200
+ f.close()
201
+ """
202
+ abs_script_file = os.path.join(case_test_dir, script_file)
203
+ f = open(abs_script_file, "w")
204
+ f.write(script_text)
205
+ f.close()
206
+ os.chmod(abs_script_file, 0o755)
207
+
208
+ #environment script
209
+ env_file = "myEnv.sh"
210
+ env_text = """export ENV_TEST_VAR="expected"
211
+ """
212
+ f = open(os.path.join(case_test_dir, env_file), "w")
213
+ f.write(env_text)
214
+ f.close()
215
+
216
+ # write data file
217
+ f = open(os.path.join(case_test_dir, data_file), "w")
218
+ f.write("to be copied")
219
+ f.close()
220
+
221
+ # job params
222
+ local_result_dir = os.path.join(case_test_dir, "result_com_job-")
223
+ job_params = self.create_JobParameters()
224
+ job_params.job_type = "command"
225
+ job_params.job_file = script_file
226
+ job_params.env_file = env_file
227
+ job_params.in_files = [data_file]
228
+ job_params.out_files = ["result.txt", "copie"]
229
+ job_params.local_directory = case_test_dir
230
+
231
+ # create and launch the job
232
+ launcher = salome.naming_service.Resolve('/SalomeLauncher')
233
+ resManager= salome.lcc.getResourcesManager()
234
+
235
+ for resource in self.ressources:
236
+ print("Testing command job on ", resource)
237
+ job_params.result_directory = local_result_dir + resource
238
+ job_params.job_name = "CommandJob_" + resource
239
+ job_params.resource_required.name = resource
240
+
241
+ # use the working directory of the resource
242
+ resParams = resManager.GetResourceDefinition(resource)
243
+ wd = os.path.join(resParams.working_directory,
244
+ "CommandJob" + self.suffix)
245
+ job_params.work_directory = wd
246
+
247
+ job_id = launcher.createJob(job_params)
248
+ launcher.launchJob(job_id)
249
+ # wait for the end of the job
250
+ jobState = launcher.getJobState(job_id)
251
+ print("Job %d state: %s" % (job_id,jobState))
252
+ while jobState != "FINISHED" and jobState != "FAILED" :
253
+ time.sleep(3)
254
+ jobState = launcher.getJobState(job_id)
255
+ print("Job %d state: %s" % (job_id,jobState))
256
+ pass
257
+
258
+ # verify the results
259
+ self.assertEqual(jobState, "FINISHED")
260
+ launcher.getJobResults(job_id, "")
261
+ self.verifyFile(os.path.join(job_params.result_directory, "result.txt"),
262
+ "expected")
263
+ self.verifyFile(os.path.join(job_params.result_directory,
264
+ "copie",'copie.txt'),
265
+ "to be copied")
266
+
267
+ # verify getJobWorkFile
268
+ mydir = os.path.join(case_test_dir, "work_dir" + resource)
269
+ success = launcher.getJobWorkFile(job_id, "result.txt", mydir)
270
+ self.assertEqual(success, True)
271
+ self.verifyFile(os.path.join(mydir, "result.txt"), "expected")
272
+
273
+ success = launcher.getJobWorkFile(job_id, "copie", mydir)
274
+ self.assertEqual(success, True)
275
+ self.verifyFile(os.path.join(mydir, "copie", "copie.txt"),
276
+ "to be copied")
277
+
278
+
279
+ ##############################
280
+ # test of yacs job type
281
+ ##############################
282
+ def test_yacs(self):
283
+ yacs_path = os.getenv("YACS_ROOT_DIR", "")
284
+ if not os.path.isdir(yacs_path):
285
+ self.skipTest("Needs YACS module to run. Please define YACS_ROOT_DIR.")
286
+
287
+ case_test_dir = os.path.join(TestCompo.test_dir, "yacs")
288
+ mkdir_p(case_test_dir)
289
+
290
+ #environment script
291
+ env_file = "myEnv.sh"
292
+ env_text = """export ENV_TEST_VAR="expected"
293
+ """
294
+ f = open(os.path.join(case_test_dir, env_file), "w")
295
+ f.write(env_text)
296
+ f.close()
297
+
298
+ # job script
299
+ script_text = """<?xml version='1.0' encoding='iso-8859-1' ?>
300
+ <proc name="newSchema_1">
301
+ <container name="DefaultContainer">
302
+ <property name="container_kind" value="Salome"/>
303
+ <property name="attached_on_cloning" value="0"/>
304
+ <property name="container_name" value="FactoryServer"/>
305
+ <property name="name" value="localhost"/>
306
+ </container>
307
+ <inline name="PyScript0">
308
+ <script><code><![CDATA[import os
309
+ text_result = os.getenv("ENV_TEST_VAR","")
310
+ f = open('result.txt', 'w')
311
+ f.write(text_result)
312
+ f.close()
313
+ ]]></code></script>
314
+ <load container="DefaultContainer"/>
315
+ </inline>
316
+ </proc>
317
+ """
318
+ yacs_file = "mySchema.xml"
319
+ job_script_file = os.path.join(case_test_dir, yacs_file)
320
+ f = open(job_script_file, "w")
321
+ f.write(script_text)
322
+ f.close()
323
+
324
+ local_result_dir = os.path.join(case_test_dir, "result_yacs_job-")
325
+ job_params = self.create_JobParameters()
326
+ job_params.job_type = "yacs_file"
327
+ job_params.job_file = job_script_file
328
+ job_params.env_file = os.path.join(case_test_dir,env_file)
329
+ job_params.out_files = ["result.txt"]
330
+
331
+ # define the interval between two YACS schema dumps (3 seconds)
332
+ from salome.kernel import Engines
333
+ job_params.specific_parameters = [Engines.Parameter("EnableDumpYACS", "3")]
334
+
335
+ launcher = salome.naming_service.Resolve('/SalomeLauncher')
336
+ resManager= salome.lcc.getResourcesManager()
337
+
338
+ for resource in self.ressources:
339
+ print("Testing yacs job on ", resource)
340
+ job_params.result_directory = local_result_dir + resource
341
+ job_params.job_name = "YacsJob_" + resource
342
+ job_params.resource_required.name = resource
343
+
344
+ # use the working directory of the resource
345
+ resParams = resManager.GetResourceDefinition(resource)
346
+ wd = os.path.join(resParams.working_directory,
347
+ "YacsJob" + self.suffix)
348
+ job_params.work_directory = wd
349
+
350
+ job_id = launcher.createJob(job_params)
351
+ launcher.launchJob(job_id)
352
+ jobState = launcher.getJobState(job_id)
353
+
354
+ yacs_dump_success = False
355
+ print("Job %d state: %s" % (job_id,jobState))
356
+ while jobState != "FINISHED" and jobState != "FAILED" :
357
+ time.sleep(5)
358
+ jobState = launcher.getJobState(job_id)
359
+ # yacs_dump_success = launcher.getJobWorkFile(job_id, "dumpState_mySchema.xml",
360
+ yacs_dump_success = launcher.getJobDumpState(job_id,
361
+ job_params.result_directory)
362
+ print("Job %d state: %s - dump: %s" % (job_id,jobState, yacs_dump_success))
363
+ pass
364
+
365
+ self.assertEqual(jobState, "FINISHED")
366
+
367
+ # Verify dumpState file is in the results
368
+ self.assertTrue(yacs_dump_success)
369
+ dump_file_path = os.path.join(job_params.result_directory,
370
+ "dumpState_mySchema.xml")
371
+ self.assertTrue(os.path.isfile(dump_file_path))
372
+
373
+ # Load the schema state from the dump file and verify the state of a node
374
+ from salome.yacs import SALOMERuntime
375
+ SALOMERuntime.RuntimeSALOME_setRuntime(1)
376
+ from salome.yacs import loader
377
+ schema = loader.YACSLoader().load(job_script_file)
378
+ stateParser = loader.stateParser()
379
+ sl = loader.stateLoader(stateParser, schema)
380
+ sl.parse(dump_file_path)
381
+ # 106 : "DONE" state code
382
+ self.assertEqual(106, schema.getChildByName("PyScript0").getEffectiveState())
383
+
384
+ # getJobResults to default directory (result_directory)
385
+ launcher.getJobResults(job_id, "")
386
+ self.verifyFile(os.path.join(job_params.result_directory, "result.txt"),
387
+ "expected")
388
+
389
+ ##############################
390
+ # test of yacs job type using "--init_port" driver option
391
+ ##############################
392
+ def test_yacsopt(self):
393
+ yacs_path = os.getenv("YACS_ROOT_DIR", "")
394
+ if not os.path.isdir(yacs_path):
395
+ self.skipTest("Needs YACS module to run. Please define YACS_ROOT_DIR.")
396
+
397
+ case_test_dir = os.path.join(TestCompo.test_dir, "yacs_opt")
398
+ mkdir_p(case_test_dir)
399
+
400
+ # job script
401
+ script_text = """<?xml version='1.0' encoding='iso-8859-1' ?>
402
+ <proc name="myschema">
403
+ <type name="string" kind="string"/>
404
+ <type name="bool" kind="bool"/>
405
+ <type name="double" kind="double"/>
406
+ <type name="int" kind="int"/>
407
+ <container name="DefaultContainer">
408
+ <property name="container_kind" value="Salome"/>
409
+ <property name="attached_on_cloning" value="0"/>
410
+ <property name="container_name" value="FactoryServer"/>
411
+ <property name="name" value="localhost"/>
412
+ </container>
413
+ <inline name="mynode">
414
+ <script><code><![CDATA[
415
+ text_result = "i=%s,d=%s,b=%s,s=%s" % (i,d,b,s)
416
+ f = open('result.txt', 'w')
417
+ f.write(text_result)
418
+ f.close()
419
+ ]]></code></script>
420
+ <load container="DefaultContainer"/>
421
+ <inport name="i" type="int"/>
422
+ <inport name="d" type="double"/>
423
+ <inport name="b" type="bool"/>
424
+ <inport name="s" type="string"/>
425
+ </inline>
426
+ </proc>
427
+ """
428
+ yacs_file = "simpleSchema.xml"
429
+ job_script_file = os.path.join(case_test_dir, yacs_file)
430
+ f = open(job_script_file, "w")
431
+ f.write(script_text)
432
+ f.close()
433
+
434
+ local_result_dir = os.path.join(case_test_dir, "result_yacsopt_job-")
435
+ job_params = self.create_JobParameters()
436
+ job_params.job_type = "yacs_file"
437
+ job_params.job_file = job_script_file
438
+ job_params.out_files = ["result.txt"]
439
+
440
+ # define the interval between two YACS schema dumps (3 seconds)
441
+ from salome.kernel import Engines
442
+ job_params.specific_parameters = [Engines.Parameter("YACSDriverOptions",
443
+ "-imynode.i=5 -imynode.d=3.7 -imynode.b=False -imynode.s=lili")]
444
+ expected_result="i=5,d=3.7,b=False,s=lili"
445
+
446
+ launcher = salome.naming_service.Resolve('/SalomeLauncher')
447
+ resManager= salome.lcc.getResourcesManager()
448
+
449
+ for resource in self.ressources:
450
+ print("Testing yacs job with options on ", resource)
451
+ job_params.result_directory = local_result_dir + resource
452
+ job_params.job_name = "YacsJobOpt_" + resource
453
+ job_params.resource_required.name = resource
454
+
455
+ # use the working directory of the resource
456
+ resParams = resManager.GetResourceDefinition(resource)
457
+ wd = os.path.join(resParams.working_directory,
458
+ "YacsJobOpt" + self.suffix)
459
+ job_params.work_directory = wd
460
+
461
+ job_id = launcher.createJob(job_params)
462
+ launcher.launchJob(job_id)
463
+ jobState = launcher.getJobState(job_id)
464
+
465
+ yacs_dump_success = False
466
+ print("Job %d state: %s" % (job_id,jobState))
467
+ while jobState != "FINISHED" and jobState != "FAILED" :
468
+ time.sleep(5)
469
+ jobState = launcher.getJobState(job_id)
470
+ print("Job %d state: %s " % (job_id,jobState))
471
+ pass
472
+
473
+ self.assertEqual(jobState, "FINISHED")
474
+
475
+ # getJobResults to default directory (result_directory)
476
+ launcher.getJobResults(job_id, "")
477
+ self.verifyFile(os.path.join(job_params.result_directory, "result.txt"),
478
+ expected_result)
479
+
480
+ ############################################
481
+ # test of command job type with pre_command
482
+ ############################################
483
+ def test_command_pre(self):
484
+ case_test_dir = os.path.join(TestCompo.test_dir, "command_pre")
485
+ mkdir_p(case_test_dir)
486
+
487
+ # command to be run before the job
488
+ pre_command = "pre_command.sh"
489
+ pre_command_text = "echo 'it works!' > in.txt"
490
+ abs_pre_command_file = os.path.join(case_test_dir, pre_command)
491
+ f = open(abs_pre_command_file, "w")
492
+ f.write(pre_command_text)
493
+ f.close()
494
+ os.chmod(abs_pre_command_file, 0o755)
495
+
496
+ # job script
497
+ script_file = "myTestScript.py"
498
+ script_text = """#! /usr/bin/env python3
499
+ # -*- coding: utf-8 -*-
500
+
501
+ in_f = open("in.txt", "r")
502
+ in_text = in_f.read()
503
+ in_f.close()
504
+
505
+ f = open('result.txt', 'w')
506
+ f.write(in_text)
507
+ f.close()
508
+ """
509
+ abs_script_file = os.path.join(case_test_dir, script_file)
510
+ f = open(abs_script_file, "w")
511
+ f.write(script_text)
512
+ f.close()
513
+ os.chmod(abs_script_file, 0o755)
514
+
515
+ # job params
516
+ local_result_dir = os.path.join(case_test_dir, "result_com_pre_job-")
517
+ job_params = self.create_JobParameters()
518
+ job_params.job_type = "command"
519
+ job_params.job_file = script_file
520
+ job_params.pre_command = pre_command
521
+ job_params.in_files = []
522
+ job_params.out_files = ["result.txt"]
523
+ job_params.local_directory = case_test_dir
524
+
525
+ # create and launch the job
526
+ launcher = salome.naming_service.Resolve('/SalomeLauncher')
527
+ resManager= salome.lcc.getResourcesManager()
528
+
529
+ for resource in self.ressources:
530
+ print("Testing command job on ", resource)
531
+ job_params.result_directory = local_result_dir + resource
532
+ job_params.job_name = "CommandPreJob_" + resource
533
+ job_params.resource_required.name = resource
534
+
535
+ # use the working directory of the resource
536
+ resParams = resManager.GetResourceDefinition(resource)
537
+ wd = os.path.join(resParams.working_directory,
538
+ "CommandPreJob" + self.suffix)
539
+ job_params.work_directory = wd
540
+
541
+ job_id = launcher.createJob(job_params)
542
+ launcher.launchJob(job_id)
543
+ # wait for the end of the job
544
+ jobState = launcher.getJobState(job_id)
545
+ print("Job %d state: %s" % (job_id,jobState))
546
+ while jobState != "FINISHED" and jobState != "FAILED" :
547
+ time.sleep(3)
548
+ jobState = launcher.getJobState(job_id)
549
+ print("Job %d state: %s" % (job_id,jobState))
550
+ pass
551
+
552
+ # verify the results
553
+ self.assertEqual(jobState, "FINISHED")
554
+ launcher.getJobResults(job_id, "")
555
+ self.verifyFile(os.path.join(job_params.result_directory, "result.txt"),
556
+ "it works!\n")
557
+
558
+ #################################
559
+ # test of command salome job type
560
+ #################################
561
+ def test_command_salome(self):
562
+ case_test_dir = os.path.join(TestCompo.test_dir, "command_salome")
563
+ mkdir_p(case_test_dir)
564
+
565
+ # job script
566
+ data_file = "in.txt"
567
+ script_file = "myEnvScript.py"
568
+ script_text = """#! /usr/bin/env python3
569
+ # -*- coding: utf-8 -*-
570
+
571
+ import os,sys
572
+ # verify import salome
573
+ import salome
574
+
575
+ text_result = os.getenv("ENV_TEST_VAR","")
576
+
577
+ f = open('result.txt', 'w')
578
+ f.write(text_result)
579
+ f.close()
580
+
581
+ in_f = open("in.txt", "r")
582
+ in_text = in_f.read()
583
+ in_f.close()
584
+
585
+ os.mkdir("copie")
586
+ f = open(os.path.join("copie",'copie.txt'), 'w')
587
+ f.write(in_text)
588
+ f.close()
589
+ """
590
+ abs_script_file = os.path.join(case_test_dir, script_file)
591
+ f = open(abs_script_file, "w")
592
+ f.write(script_text)
593
+ f.close()
594
+ os.chmod(abs_script_file, 0o755)
595
+
596
+ #environment script
597
+ env_file = "myEnv.sh"
598
+ env_text = """export ENV_TEST_VAR="expected"
599
+ """
600
+ f = open(os.path.join(case_test_dir, env_file), "w")
601
+ f.write(env_text)
602
+ f.close()
603
+
604
+ # write data file
605
+ f = open(os.path.join(case_test_dir, data_file), "w")
606
+ f.write("to be copied")
607
+ f.close()
608
+
609
+ # job params
610
+ local_result_dir = os.path.join(case_test_dir, "result_comsalome_job-")
611
+ job_params = self.create_JobParameters()
612
+ job_params.job_type = "command_salome"
613
+ job_params.job_file = script_file
614
+ job_params.env_file = env_file
615
+ job_params.in_files = [data_file]
616
+ job_params.out_files = ["result.txt", "copie"]
617
+ job_params.local_directory = case_test_dir
618
+
619
+ # create and launch the job
620
+ launcher = salome.naming_service.Resolve('/SalomeLauncher')
621
+ resManager= salome.lcc.getResourcesManager()
622
+
623
+ for resource in self.ressources:
624
+ print("Testing command salome job on ", resource)
625
+ job_params.result_directory = local_result_dir + resource
626
+ job_params.job_name = "CommandSalomeJob_" + resource
627
+ job_params.resource_required.name = resource
628
+
629
+ # use the working directory of the resource
630
+ resParams = resManager.GetResourceDefinition(resource)
631
+ wd = os.path.join(resParams.working_directory,
632
+ "CommandSalomeJob" + self.suffix)
633
+ job_params.work_directory = wd
634
+
635
+ job_id = launcher.createJob(job_params)
636
+ launcher.launchJob(job_id)
637
+ # wait for the end of the job
638
+ jobState = launcher.getJobState(job_id)
639
+ print("Job %d state: %s" % (job_id,jobState))
640
+ while jobState != "FINISHED" and jobState != "FAILED" :
641
+ time.sleep(3)
642
+ jobState = launcher.getJobState(job_id)
643
+ print("Job %d state: %s" % (job_id,jobState))
644
+ pass
645
+
646
+ # verify the results
647
+ self.assertEqual(jobState, "FINISHED")
648
+ launcher.getJobResults(job_id, "")
649
+ self.verifyFile(os.path.join(job_params.result_directory, "result.txt"),
650
+ "expected")
651
+ self.verifyFile(os.path.join(job_params.result_directory,
652
+ "copie",'copie.txt'),
653
+ "to be copied")
654
+
655
+ # verify getJobWorkFile
656
+ mydir = os.path.join(case_test_dir, "work_dir" + resource)
657
+ success = launcher.getJobWorkFile(job_id, "result.txt", mydir)
658
+ self.assertEqual(success, True)
659
+ self.verifyFile(os.path.join(mydir, "result.txt"), "expected")
660
+
661
+ success = launcher.getJobWorkFile(job_id, "copie", mydir)
662
+ self.assertEqual(success, True)
663
+ self.verifyFile(os.path.join(mydir, "copie", "copie.txt"),
664
+ "to be copied")
665
+ pass
666
+ pass
667
+ pass
668
+
669
+ if __name__ == '__main__':
670
+ # create study
671
+ from salome.kernel import salome
672
+ salome.standalone()
673
+ salome.salome_init()
674
+ unittest.main()