salome.kernel 9.14.0.post3__cp311-cp311-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.
Files changed (444) 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 +42 -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 +648 -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/share/salome/resources/kernel/Anita semi square.ttf +0 -0
  301. salome/kernel/share/salome/resources/kernel/CatalogModulePersonnel.xml_skel +24 -0
  302. salome/kernel/share/salome/resources/kernel/CatalogResources.xml +4 -0
  303. salome/kernel/share/salome/resources/kernel/KERNELCatalog.xml +102 -0
  304. salome/kernel/share/salome/resources/kernel/SALOMEDS_Resources +10 -0
  305. salome/kernel/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_LOCAL_MPI_LAN.py +19 -0
  306. salome/kernel/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_LOCAL_MPI_MPICH.py +18 -0
  307. salome/kernel/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_LOCAL_MPI_OPENMPI.py +21 -0
  308. salome/kernel/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_LOCAL_NO_MPI.py +25 -0
  309. salome/kernel/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_REMOTE.py +108 -0
  310. salome/kernel/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_REMOTE_OLD.py +115 -0
  311. salome/kernel/share/salome/resources/kernel/ScriptsTemplate/script_parameters.py +25 -0
  312. salome/kernel/share/salome/resources/kernel/app-template/CMakeLists.txt +125 -0
  313. salome/kernel/share/salome/resources/kernel/app-template/LICENCE +504 -0
  314. salome/kernel/share/salome/resources/kernel/app-template/README +0 -0
  315. salome/kernel/share/salome/resources/kernel/app-template/doc/CMakeLists.txt +31 -0
  316. salome/kernel/share/salome/resources/kernel/app-template/doc/README +1 -0
  317. salome/kernel/share/salome/resources/kernel/app-template/doc/conf.py.in +197 -0
  318. salome/kernel/share/salome/resources/kernel/app-template/doc/index.rst +14 -0
  319. salome/kernel/share/salome/resources/kernel/app-template/doc/intro.rst +4 -0
  320. salome/kernel/share/salome/resources/kernel/app-template/doc/link.rst +4 -0
  321. salome/kernel/share/salome/resources/kernel/app-template/resources/CMakeLists.txt +36 -0
  322. salome/kernel/share/salome/resources/kernel/app-template/resources/SalomeApp.xml.in +30 -0
  323. salome/kernel/share/salome/resources/kernel/app-template/resources/about.png +0 -0
  324. salome/kernel/share/salome/resources/kernel/app-template/resources/app_icon.png +0 -0
  325. salome/kernel/share/salome/resources/kernel/app-template/resources/app_logo.png +0 -0
  326. salome/kernel/share/salome/resources/kernel/app-template/resources/doc/CMakeLists.txt +27 -0
  327. salome/kernel/share/salome/resources/kernel/app-template/resources/doc/README +1 -0
  328. salome/kernel/share/salome/resources/kernel/app-template/resources/doc/sample.pdf +0 -0
  329. salome/kernel/share/salome/resources/kernel/app-template/resources/icon_about.png +0 -0
  330. salome/kernel/share/salome/resources/kernel/app-template/resources/splash.png +0 -0
  331. salome/kernel/share/salome/resources/kernel/app-template/src/CMakeLists.txt +22 -0
  332. salome/kernel/share/salome/resources/kernel/app-template/src/resources/CMakeLists.txt +34 -0
  333. salome/kernel/share/salome/resources/kernel/app-template/src/resources/LightApp_images.ts +23 -0
  334. salome/kernel/share/salome/resources/kernel/app-template/src/resources/LightApp_msg_en.ts +35 -0
  335. salome/kernel/share/salome/resources/kernel/app-template/src/resources/LightApp_msg_fr.ts +35 -0
  336. salome/kernel/share/salome/resources/kernel/app-template/src/resources/LightApp_msg_ja.ts +35 -0
  337. salome/kernel/share/salome/resources/kernel/app-template/src/tests/CMakeLists.txt +29 -0
  338. salome/kernel/share/salome/resources/kernel/app-template/src/tests/README +1 -0
  339. salome/kernel/share/salome/resources/kernel/app-template/src/tests/helloWorld.py +1 -0
  340. salome/kernel/share/salome/resources/kernel/background.png +0 -0
  341. salome/kernel/share/salome/resources/kernel/channel.cfg +278 -0
  342. salome/kernel/share/salome/resources/kernel/testLauncher.xml +10 -0
  343. salome/kernel/version_and_config.py +24 -0
  344. salome/share/salome/resources/kernel/Anita semi square.ttf +0 -0
  345. salome/share/salome/resources/kernel/CatalogModulePersonnel.xml_skel +24 -0
  346. salome/share/salome/resources/kernel/CatalogResources.xml +4 -0
  347. salome/share/salome/resources/kernel/KERNELCatalog.xml +102 -0
  348. salome/share/salome/resources/kernel/SALOMEDS_Resources +10 -0
  349. salome/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_LOCAL_MPI_LAN.py +19 -0
  350. salome/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_LOCAL_MPI_MPICH.py +18 -0
  351. salome/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_LOCAL_MPI_OPENMPI.py +21 -0
  352. salome/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_LOCAL_NO_MPI.py +25 -0
  353. salome/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_REMOTE.py +108 -0
  354. salome/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_REMOTE_OLD.py +115 -0
  355. salome/share/salome/resources/kernel/ScriptsTemplate/script_parameters.py +25 -0
  356. salome/share/salome/resources/kernel/app-template/CMakeLists.txt +125 -0
  357. salome/share/salome/resources/kernel/app-template/LICENCE +504 -0
  358. salome/share/salome/resources/kernel/app-template/README +0 -0
  359. salome/share/salome/resources/kernel/app-template/doc/CMakeLists.txt +31 -0
  360. salome/share/salome/resources/kernel/app-template/doc/README +1 -0
  361. salome/share/salome/resources/kernel/app-template/doc/conf.py.in +197 -0
  362. salome/share/salome/resources/kernel/app-template/doc/index.rst +14 -0
  363. salome/share/salome/resources/kernel/app-template/doc/intro.rst +4 -0
  364. salome/share/salome/resources/kernel/app-template/doc/link.rst +4 -0
  365. salome/share/salome/resources/kernel/app-template/resources/CMakeLists.txt +36 -0
  366. salome/share/salome/resources/kernel/app-template/resources/SalomeApp.xml.in +30 -0
  367. salome/share/salome/resources/kernel/app-template/resources/about.png +0 -0
  368. salome/share/salome/resources/kernel/app-template/resources/app_icon.png +0 -0
  369. salome/share/salome/resources/kernel/app-template/resources/app_logo.png +0 -0
  370. salome/share/salome/resources/kernel/app-template/resources/doc/CMakeLists.txt +27 -0
  371. salome/share/salome/resources/kernel/app-template/resources/doc/README +1 -0
  372. salome/share/salome/resources/kernel/app-template/resources/doc/sample.pdf +0 -0
  373. salome/share/salome/resources/kernel/app-template/resources/icon_about.png +0 -0
  374. salome/share/salome/resources/kernel/app-template/resources/splash.png +0 -0
  375. salome/share/salome/resources/kernel/app-template/src/CMakeLists.txt +22 -0
  376. salome/share/salome/resources/kernel/app-template/src/resources/CMakeLists.txt +34 -0
  377. salome/share/salome/resources/kernel/app-template/src/resources/LightApp_images.ts +23 -0
  378. salome/share/salome/resources/kernel/app-template/src/resources/LightApp_msg_en.ts +35 -0
  379. salome/share/salome/resources/kernel/app-template/src/resources/LightApp_msg_fr.ts +35 -0
  380. salome/share/salome/resources/kernel/app-template/src/resources/LightApp_msg_ja.ts +35 -0
  381. salome/share/salome/resources/kernel/app-template/src/tests/CMakeLists.txt +29 -0
  382. salome/share/salome/resources/kernel/app-template/src/tests/README +1 -0
  383. salome/share/salome/resources/kernel/app-template/src/tests/helloWorld.py +1 -0
  384. salome/share/salome/resources/kernel/background.png +0 -0
  385. salome/share/salome/resources/kernel/channel.cfg +278 -0
  386. salome/share/salome/resources/kernel/testLauncher.xml +10 -0
  387. salome_kernel-9.14.0.post3.dist-info/METADATA +25 -0
  388. salome_kernel-9.14.0.post3.dist-info/RECORD +443 -0
  389. salome_kernel-9.14.0.post3.dist-info/WHEEL +6 -0
  390. salome_kernel-9.14.0.post3.dist-info/entry_points.txt +2 -0
  391. salome_kernel-9.14.0.post3.dist-info/sboms/auditwheel.cdx.json +1 -0
  392. salome_kernel.libs/libArgvKeeper-822351d5.so +0 -0
  393. salome_kernel.libs/libCOS4-b4544fb9.so.2.5 +0 -0
  394. salome_kernel.libs/libCOSDynamic4-618dbb1d.so.2.5 +0 -0
  395. salome_kernel.libs/libCalciumC-1aac12fd.so +0 -0
  396. salome_kernel.libs/libDF-281cc999.so +0 -0
  397. salome_kernel.libs/libLauncher-d5172385.so +0 -0
  398. salome_kernel.libs/libLauncherWrapHelper-b990b914.so +0 -0
  399. salome_kernel.libs/libOpUtil-b4b3b9b6.so +0 -0
  400. salome_kernel.libs/libRegistry-e24daafb.so +0 -0
  401. salome_kernel.libs/libResourcesManager-f4ef9548.so +0 -0
  402. salome_kernel.libs/libSALOMEBasics-f4d874ac.so +0 -0
  403. salome_kernel.libs/libSALOMELocalTrace-a3992e5b.so +0 -0
  404. salome_kernel.libs/libSALOMELog-55805468.so +0 -0
  405. salome_kernel.libs/libSalomeCalcium-04a9dc03.so +0 -0
  406. salome_kernel.libs/libSalomeCatalog-a58dcc67.so +0 -0
  407. salome_kernel.libs/libSalomeCommunication-6013ebb8.so +0 -0
  408. salome_kernel.libs/libSalomeContainer-d266bf26.so +0 -0
  409. salome_kernel.libs/libSalomeContainerServer-3bf78497.so +0 -0
  410. salome_kernel.libs/libSalomeDS-09d10dd2.so +0 -0
  411. salome_kernel.libs/libSalomeDSCContainer-38c5ee31.so +0 -0
  412. salome_kernel.libs/libSalomeDSCSuperv-4106fd50.so +0 -0
  413. salome_kernel.libs/libSalomeDSCSupervBasic-d465171a.so +0 -0
  414. salome_kernel.libs/libSalomeDSClient-cfd124a5.so +0 -0
  415. salome_kernel.libs/libSalomeDSImpl-d14f88fc.so +0 -0
  416. salome_kernel.libs/libSalomeDatastream-450015c8.so +0 -0
  417. salome_kernel.libs/libSalomeGenericObj-2571fdbd.so +0 -0
  418. salome_kernel.libs/libSalomeHDFPersist-e16c7867.so +0 -0
  419. salome_kernel.libs/libSalomeIDLKernel-2eb1ed8e.so +0 -0
  420. salome_kernel.libs/libSalomeKernelHelpers-2ef9cb99.so +0 -0
  421. salome_kernel.libs/libSalomeLauncher-4cdc15f2.so +0 -0
  422. salome_kernel.libs/libSalomeLifeCycleCORBA-c446a5ee.so +0 -0
  423. salome_kernel.libs/libSalomeLoggerServer-bb9e76be.so +0 -0
  424. salome_kernel.libs/libSalomeNS-d87194d5.so +0 -0
  425. salome_kernel.libs/libSalomeNotification-83bfb2ff.so +0 -0
  426. salome_kernel.libs/libSalomeORB-07883efb.so +0 -0
  427. salome_kernel.libs/libSalomePalm-f0296bca.so +0 -0
  428. salome_kernel.libs/libSalomeResourcesManager-5a7077a0.so +0 -0
  429. salome_kernel.libs/libSalomeSDS-fd9bcce1.so +0 -0
  430. salome_kernel.libs/libSalomeTestComponentEngine-432d7922.so +0 -0
  431. salome_kernel.libs/libTOOLSDS-82342bb4.so +0 -0
  432. salome_kernel.libs/libbatch-779d48ee.so +0 -0
  433. salome_kernel.libs/libboost_atomic-489c2d94.so.1.81.0 +0 -0
  434. salome_kernel.libs/libboost_filesystem-e610b554.so.1.81.0 +0 -0
  435. salome_kernel.libs/libboost_system-4a7650ea.so.1.81.0 +0 -0
  436. salome_kernel.libs/libcppunit-1-17e77af1.12.so.1.0.0 +0 -0
  437. salome_kernel.libs/libhdf5-42ab48a9.so.103.0.0 +0 -0
  438. salome_kernel.libs/liblzma-004595ca.so.5.2.2 +0 -0
  439. salome_kernel.libs/libomniDynamic4-9edc765d.so.2.5 +0 -0
  440. salome_kernel.libs/libomniORB4-4725824d.so.2.5 +0 -0
  441. salome_kernel.libs/libomnithread-99f9d0d3.so.4.1 +0 -0
  442. salome_kernel.libs/libwith_loggerTraceCollector-6341a194.so +0 -0
  443. salome_kernel.libs/libwith_loggerTraceCollector.so +0 -0
  444. salome_kernel.libs/libxml2-3998bec4.so.2.9.1 +0 -0
@@ -0,0 +1,110 @@
1
+ #! /usr/bin/env python3
2
+ # -*- coding: utf-8 -*-
3
+ # Copyright (C) 2021-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 os
23
+ import sys
24
+ from salome.kernel import salome
25
+ from salome.kernel import Engines
26
+
27
+ salome.salome_init_without_session()
28
+ rp=Engines.ResourceParameters(name="localhost",
29
+ hostname="localhost",
30
+ can_launch_batch_jobs=False,
31
+ can_run_containers=True,
32
+ OS="Linux",
33
+ componentList=[],
34
+ nb_proc=1,
35
+ mem_mb=1000,
36
+ cpu_clock=1000,
37
+ nb_node=1,
38
+ nb_proc_per_node=1,
39
+ policy="first",
40
+ resList=[])
41
+
42
+ cp=Engines.ContainerParameters(container_name="container_test",
43
+ mode="start",
44
+ workingdir=os.getcwd(),
45
+ nb_proc=1,
46
+ isMPI=False,
47
+ parallelLib="",
48
+ resource_params=rp)
49
+
50
+ cm=salome.naming_service.Resolve("/ContainerManager")
51
+
52
+ cont_prov=cm.GiveContainer(cp)
53
+ import CORBA
54
+ import pickle
55
+ orb=CORBA.ORB_init([''])
56
+
57
+ # Testing for CM
58
+ ref_cm = orb.object_to_string(salome.cm)
59
+ pyscript = cont_prov.createPyScriptNode("testCM","""from salome.kernel import salome\nsalome.salome_init()\nthe_cm=salome.cm""")
60
+ pyscript.execute([],pickle.dumps(([],{})))
61
+ cm_to_test = orb.object_to_string(pickle.loads(pyscript.execute(["the_cm"],pickle.dumps(([],{}))))[0])
62
+ if cm_to_test!=ref_cm:
63
+ raise AssertionError("The ContainerManager of salome_init launched in SALOME_Container_No_NS_Serv is not those in current process !")
64
+ pyscriptt = cont_prov.createPyScriptNode("testCM2","""from salome.kernel import salome\nsalome.salome_init()\nthe_cm=salome.naming_service.Resolve("/ContainerManager")""")
65
+ pyscriptt.execute([],pickle.dumps(([],{})))
66
+ cm_to_testt = orb.object_to_string(pickle.loads(pyscriptt.execute(["the_cm"],pickle.dumps(([],{}))))[0])
67
+ if cm_to_testt!=ref_cm:
68
+ raise AssertionError("The ContainerManager of salome_init launched in SALOME_Container_No_NS_Serv is not those in current process !")
69
+ del pyscript,pyscriptt,ref_cm,cm_to_test,cm_to_testt
70
+
71
+ # Testing for RM
72
+ ref_rm = orb.object_to_string(salome.lcc.getResourcesManager())
73
+ pyscript4 = cont_prov.createPyScriptNode("testRM","""from salome.kernel import salome\nsalome.salome_init()\nthe_rm=salome.lcc.getResourcesManager()""")
74
+ pyscript4.execute([],pickle.dumps(([],{})))
75
+ rm_to_test = orb.object_to_string(pickle.loads(pyscript4.execute(["the_rm"],pickle.dumps(([],{}))))[0])
76
+ if rm_to_test!=ref_rm:
77
+ raise AssertionError("The ResourcesManager of salome_init launched in SALOME_Container_No_NS_Serv is not those in current process !")
78
+ pyscript44 = cont_prov.createPyScriptNode("testRM2","""from salome.kernel import salome\nsalome.salome_init()\nthe_rm=salome.naming_service.Resolve("/ResourcesManager")""")
79
+ pyscript44.execute([],pickle.dumps(([],{})))
80
+ rm_to_testt = orb.object_to_string(pickle.loads(pyscript44.execute(["the_rm"],pickle.dumps(([],{}))))[0])
81
+ if rm_to_testt!=ref_rm:
82
+ raise AssertionError("The ResourcesManager of salome_init launched in SALOME_Container_No_NS_Serv is not those in current process !")
83
+ del pyscript4,pyscript44,ref_rm,rm_to_test,rm_to_testt
84
+
85
+ # Testing for DSM
86
+ ref_dsm = orb.object_to_string(salome.dsm)
87
+ pyscript2 = cont_prov.createPyScriptNode("testDSM","""from salome.kernel import salome\nsalome.salome_init()\nthe_dsm=salome.dsm""")
88
+ dsm_to_test = orb.object_to_string(pickle.loads(pyscript2.execute(["the_dsm"],pickle.dumps(([],{}))))[0])
89
+ if dsm_to_test!=ref_dsm:
90
+ raise AssertionError("The DataServerManager of salome_init launched in SALOME_Container_No_NS_Serv is not those in current process !")
91
+ pyscript22 = cont_prov.createPyScriptNode("testDSM","""from salome.kernel import salome\nsalome.salome_init()\nthe_dsm=salome.naming_service.Resolve("/DataServerManager")""")
92
+ dsm_to_test_2 = orb.object_to_string(pickle.loads(pyscript22.execute(["the_dsm"],pickle.dumps(([],{}))))[0])
93
+ if dsm_to_test_2!=ref_dsm:
94
+ raise AssertionError("The DataServerManager of salome_init launched in SALOME_Container_No_NS_Serv is not those in current process !")
95
+ del pyscript2,pyscript22,ref_dsm,dsm_to_test,dsm_to_test_2
96
+
97
+ # Testing for ESM
98
+ ref_esm = orb.object_to_string(salome.esm)
99
+ pyscript3 = cont_prov.createPyScriptNode("testESM","""from salome.kernel import salome\nsalome.salome_init()\nthe_esm=salome.esm""")
100
+ esm_to_test = orb.object_to_string(pickle.loads(pyscript3.execute(["the_esm"],pickle.dumps(([],{}))))[0])
101
+ if esm_to_test!=ref_esm:
102
+ raise AssertionError("The ExternalServerLauncher of salome_init launched in SALOME_Container_No_NS_Serv is not those in current process !")
103
+ pyscript33 = cont_prov.createPyScriptNode("testDSM","""from salome.kernel import salome\nsalome.salome_init()\nthe_esm=salome.naming_service.Resolve("/ExternalServers")""")
104
+ esm_to_test_2 = orb.object_to_string(pickle.loads(pyscript33.execute(["the_esm"],pickle.dumps(([],{}))))[0])
105
+ if esm_to_test_2!=ref_esm:
106
+ raise AssertionError("The ExternalServerLauncher of salome_init launched in SALOME_Container_No_NS_Serv is not those in current process !")
107
+ del pyscript3,pyscript33,ref_esm,esm_to_test,esm_to_test_2
108
+
109
+ # End of test
110
+ cont_prov.Shutdown()
@@ -0,0 +1,65 @@
1
+ #! /usr/bin/env python3
2
+ # -*- coding: utf-8 -*-
3
+ # Copyright (C) 2018-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
+ # classic use case of a job
23
+ import os
24
+ from salome.kernel import salome
25
+ from salome.kernel import LifeCycleCORBA
26
+ import tempfile
27
+ import time
28
+ import sys
29
+
30
+ if __name__ == '__main__':
31
+ salome.standalone()
32
+ salome.salome_init()
33
+ launcher = salome.naming_service.Resolve('/SalomeLauncher')
34
+ job_params = LifeCycleCORBA.JobParameters()
35
+ job_params.resource_required = LifeCycleCORBA.ResourceParameters()
36
+ job_params.resource_required.name = "localhost"
37
+ job_params.resource_required.nb_proc = 1 # slurm: --ntasks
38
+
39
+ job_params.job_type = "command"
40
+ #cwd = os.getcwd()
41
+ cwd = sys.argv[1]
42
+ case_dir = tempfile.mkdtemp(prefix="test")
43
+ job_params.local_directory = cwd
44
+ job_params.job_file = "command.sh"
45
+ job_params.work_directory = os.path.join(case_dir, "run")
46
+ job_params.result_directory = os.path.join(case_dir, "result")
47
+ job_params.out_files = ["result.txt"]
48
+ job_params.wckey="P11U5:CARBONES"
49
+ job_params.job_name = "MyJob"
50
+ job_id = launcher.createJob(job_params)
51
+ launcher.launchJob(job_id)
52
+ job_string = launcher.dumpJob(job_id)
53
+ jobState = launcher.getJobState(job_id)
54
+ while jobState != 'FINISHED' and jobState != 'FAILED':
55
+ time.sleep(1)
56
+ jobState = launcher.getJobState(job_id)
57
+ launcher.getJobResults(job_id, '')
58
+ launcher.getJobWorkFile(job_id, "result.txt", '')
59
+ launcher.clearJobWorkingDir(job_id)
60
+ launcher.removeJob(job_id)
61
+ new_id = launcher.restoreJob(job_string)
62
+ job_params_bis = launcher.getJobParameters(new_id)
63
+ jobState = launcher.getJobState(new_id)
64
+ launcher.removeJob(new_id)
65
+ launcher.saveJobs(os.path.join(case_dir,"savejobs.xml"))
@@ -0,0 +1,423 @@
1
+ # -*- coding: iso-8859-1 -*-
2
+ # Copyright (C) 2024 CEA/DEN, EDF R&D
3
+ #
4
+ # This library is free software; you can redistribute it and/or
5
+ # modify it under the terms of the GNU Lesser General Public
6
+ # License as published by the Free Software Foundation; either
7
+ # version 2.1 of the License, or (at your option) any later version.
8
+ #
9
+ # This library is distributed in the hope that it will be useful,
10
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
11
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12
+ # Lesser General Public License for more details.
13
+ #
14
+ # You should have received a copy of the GNU Lesser General Public
15
+ # License along with this library; if not, write to the Free Software
16
+ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17
+ #
18
+ # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
19
+ #
20
+
21
+ from salome.kernel import salome
22
+ from salome.kernel import Engines
23
+ from salome.kernel import SALOME_PyNode
24
+ from salome.kernel import pylauncher
25
+ from salome.kernel import KernelBasis
26
+ from salome.kernel import SALOME
27
+ from salome.kernel.SALOME_PyNode import UnProxyObjectSimple,DecrRefInFile
28
+
29
+ import unittest
30
+ import os
31
+ import tempfile
32
+ import glob
33
+ import pickle
34
+ import tempfile
35
+ import logging
36
+ from datetime import datetime
37
+ import subprocess as sp
38
+ from pathlib import Path
39
+
40
+ killMeCode = """
41
+ import os
42
+ import sys
43
+ import signal
44
+ j = 7 * i
45
+ sys.stdout.write(str(j)) ; sys.stdout.flush() # the aime of test in replay mode to be sure that case is runnable
46
+ os.kill( os.getpid() , signal.SIGKILL)# the aim of test is here
47
+ """
48
+
49
+ normalCode = """
50
+ j = 8 * i
51
+ my_log_4_this_session.addFreestyleAndFlush( ("a",777) ) # to check that hidden var is still accessible
52
+ """
53
+
54
+ heatCPUCode = """from salome.kernel import KernelBasis
55
+ nbcore = 3
56
+ cst = KernelBasis.GetTimeAdjustmentCst()
57
+ KernelBasis.HeatMarcel(5 * nbcore * cst,nbcore)
58
+ j = 8*i"""
59
+
60
+ killMeAtTheEnd = """import atexit
61
+ from salome.kernel import KernelServices
62
+
63
+ def ErrorAtexit():
64
+ KernelServices.GenerateViolentMemoryFaultForTestPurpose()
65
+
66
+ atexit.register(ErrorAtexit)
67
+
68
+ print("OKKKKKK")
69
+ j = 9 * i * a
70
+ print("OKKKKKK3333")
71
+ """
72
+
73
+ killMeAtTheEnd2 = """import atexit
74
+ from salome.kernel import KernelServices
75
+ import os
76
+
77
+ def ErrorAtexit():
78
+ KernelServices.GenerateViolentMemoryFaultForTestPurpose()
79
+
80
+ atexit.register(ErrorAtexit)
81
+
82
+ print("OKKKKKK")
83
+ j = 9 * i * a
84
+ k = os.getcwd()
85
+ print("OKKKKKK3333")
86
+ """
87
+
88
+ FunnyCase_test5 = """import os
89
+ import time
90
+ if not os.path.exists( {!r} ):
91
+ time.sleep( 20 ) # first exec spend voluntary more than 10 seconds to test retry
92
+ else:
93
+ time.sleep( 2 ) # second exec after retry
94
+ j = 44
95
+ """
96
+
97
+ FunnyCase_test6 = """
98
+ import numpy as np
99
+ import time
100
+ nb = i.shape[0]
101
+ del i
102
+ #time.sleep(10)
103
+ j = np.zeros(shape=(2*nb,),dtype=np.float64)
104
+ """
105
+
106
+ FunnyCase_test7 = """
107
+ import numpy as np
108
+ nb = i.shape[0]
109
+ j = np.zeros(shape=(2*nb,),dtype=np.float64)
110
+ """
111
+
112
+ class testPerfLogManager1(unittest.TestCase):
113
+ def test0(self):
114
+ """
115
+ EDF29852 : Kill container with OutOfProcessNoReplay mode and see if container still responds.
116
+ """
117
+ with tempfile.TemporaryDirectory() as tmpdirname:
118
+ salome.salome_init()
119
+ assert(isinstance(KernelBasis.GetAllPyExecutionModes(),tuple))
120
+ KernelBasis.SetPyExecutionMode("OutOfProcessNoReplay") # the aim of test is here
121
+ hostname = "localhost"
122
+ cp = pylauncher.GetRequestForGiveContainer(hostname,"container_crash_test")
123
+ salome.cm.SetBigObjOnDiskThreshold(1000)
124
+ salome.cm.SetOverrideEnvForContainersSimple(env = [])
125
+ salome.cm.SetDirectoryForReplayFiles( str( tmpdirname ) )
126
+ cont = salome.cm.GiveContainer(cp)
127
+ poa = salome.orb.resolve_initial_references("RootPOA")
128
+ obj = SALOME_PyNode.SenderByte_i(poa,pickle.dumps( (["i"],{"i": 3} ) )) ; id_o = poa.activate_object(obj) ; refPtr = poa.id_to_reference(id_o)
129
+ pyscript2 = cont.createPyScriptNode("testScript2",killMeCode)
130
+ pyscript2.executeFirst(refPtr)
131
+ self.assertRaises(SALOME.SALOME_Exception,pyscript2.executeSecond,["j"]) # an agressive SIGKILL has been received and container is still alive :) - it throws an exception :)
132
+ pyscript2.UnRegister()
133
+ pyscript3 = cont.createPyScriptNode("testScript3",normalCode)
134
+ obj = SALOME_PyNode.SenderByte_i(poa,pickle.dumps( (["i"],{"i": 3} ) )) ; id_o = poa.activate_object(obj) ; refPtr = poa.id_to_reference(id_o)
135
+ pyscript3.executeFirst(refPtr)
136
+ ret = pyscript3.executeSecond(["j"])
137
+ ret = pickle.loads( SALOME_PyNode.SeqByteReceiver(ret[0]).data() )
138
+ self.assertEqual(ret,24) # container has received a SIGKILL but it kindly continue to respond :)
139
+ a = salome.logm.NaiveFetch()
140
+ dicToTest = {k:v for k,v in a[0][2][0].get().freestyle}
141
+ self.assertEqual(dicToTest['a'],777)
142
+ cont.Shutdown()
143
+
144
+ def test1(self):
145
+ """
146
+ EDF29852 : Same than test0 Kill container with OutOfProcessWithReplay mode and see if container still responds. But in addition we test if the python script is runnable !
147
+ """
148
+ with tempfile.TemporaryDirectory() as tmpdirname:
149
+ salome.salome_init()
150
+ assert(isinstance(KernelBasis.GetAllPyExecutionModes(),tuple))
151
+ KernelBasis.SetPyExecutionMode("OutOfProcessWithReplay") # the aim of test is here
152
+ hostname = "localhost"
153
+ cp = pylauncher.GetRequestForGiveContainer(hostname,"container_crash_test")
154
+ salome.cm.SetBigObjOnDiskThreshold(1000)
155
+ salome.cm.SetOverrideEnvForContainersSimple(env = [])
156
+ salome.cm.SetDirectoryForReplayFiles(str( tmpdirname ))
157
+ cont = salome.cm.GiveContainer(cp)
158
+ poa = salome.orb.resolve_initial_references("RootPOA")
159
+ obj = SALOME_PyNode.SenderByte_i(poa,pickle.dumps( (["i"],{"i": 3} ) )) ; id_o = poa.activate_object(obj) ; refPtr = poa.id_to_reference(id_o)
160
+ pyscript2 = cont.createPyScriptNode("testScript2",killMeCode)
161
+ pyscript2.executeFirst(refPtr)
162
+ self.assertRaises(SALOME.SALOME_Exception,pyscript2.executeSecond,["j"]) # an agressive SIGKILL has been received and container is still alive :) - it throws an exception :)
163
+ pyscript2.UnRegister()
164
+ pyscript3 = cont.createPyScriptNode("testScript3",normalCode)
165
+ obj = SALOME_PyNode.SenderByte_i(poa,pickle.dumps( (["i"],{"i": 3} ) )) ; id_o = poa.activate_object(obj) ; refPtr = poa.id_to_reference(id_o)
166
+ pyscript3.executeFirst(refPtr)
167
+ ret = pyscript3.executeSecond(["j"])
168
+ ret = pickle.loads( SALOME_PyNode.SeqByteReceiver(ret[0]).data() )
169
+ self.assertEqual(ret,24) # container has received a SIGKILL but it kindly continue to respond :)
170
+ a = salome.logm.NaiveFetch()
171
+ dicToTest = {k:v for k,v in a[0][2][0].get().freestyle}
172
+ self.assertEqual(dicToTest['a'],777)
173
+ # EDF30875 : check in verbose mode of presence of entries to debug
174
+ self.assertEqual( set(dicToTest), {'strtdumpout', 'b4loadctx', 'afterloadctx', 'afterdump', 'bforeexec', 'a', 'afterexec'} )
175
+ grpsOfLogToKill = cont.getAllLogFileNameGroups()
176
+ self.assertEqual(1,len(grpsOfLogToKill))
177
+ replayInput = grpsOfLogToKill[0]
178
+ # now try to replay the failing case
179
+ p = sp.Popen(["python3",os.path.basename(replayInput[0])],cwd = os.path.dirname(replayInput[0]),stdout=sp.PIPE,stderr=sp.PIPE)
180
+ out,err = p.communicate()
181
+ self.assertNotEqual(p.returncode,0) # very important ! The failing case must continue to fail :)
182
+ self.assertEqual("21".encode(),out) # very important to check that the reported case is standalone enough to be replayable poste mortem
183
+ # cleanup
184
+ dn = os.path.dirname(replayInput[0])
185
+ for elt in replayInput:
186
+ zeFile = os.path.join( dn, os.path.basename(elt) )
187
+ if os.path.exists( zeFile ):
188
+ os.unlink( zeFile )
189
+ cont.Shutdown()
190
+
191
+ def test2(self):
192
+ """
193
+ Aim of test is to check that CPU/mem retrieved in log is OK even in OutOfProcessNoReplay mode.
194
+ """
195
+ with tempfile.TemporaryDirectory() as tmpdirname:
196
+ salome.salome_init()
197
+ salome.logm.clear()
198
+ assert(isinstance(KernelBasis.GetAllPyExecutionModes(),tuple))
199
+ KernelBasis.SetPyExecutionMode("OutOfProcessNoReplay") # the aim of test is here
200
+ hostname = "localhost"
201
+ PROXY_THRES = -1
202
+ #
203
+ salome.cm.SetBigObjOnDiskThreshold(PROXY_THRES)
204
+ salome.cm.SetOverrideEnvForContainersSimple(env = [])
205
+ salome.cm.SetDirectoryForReplayFiles(str( tmpdirname ))
206
+ salome.cm.SetDeltaTimeBetweenCPUMemMeasureInMilliSecond( 250 )
207
+ cp = pylauncher.GetRequestForGiveContainer(hostname,"container_cpu_mem_out_process_test")
208
+ cont = salome.cm.GiveContainer(cp)
209
+ poa = salome.orb.resolve_initial_references("RootPOA")
210
+ obj = SALOME_PyNode.SenderByte_i(poa,pickle.dumps( (["i"],{"i": 3} ) )) ; id_o = poa.activate_object(obj) ; refPtr = poa.id_to_reference(id_o)
211
+ pyscript2 = cont.createPyScriptNode("testScript3",heatCPUCode)
212
+ pyscript2.executeFirst(refPtr)
213
+ ret = pyscript2.executeSecond(["j"])
214
+ ret = pickle.loads( SALOME_PyNode.SeqByteReceiver(ret[0]).data() )
215
+ self.assertEqual(ret,24)
216
+ pyscript2.UnRegister()
217
+ a = salome.logm.NaiveFetch()
218
+ cpu_mem_to_test = a[0][1][0].get()._cpu_mem_during_exec.data # normally even in OutOfProcessNoReplay mode the CPU must report somehing greater than 100
219
+ self.assertGreater(len(cpu_mem_to_test),10) # 5 second of run 250 ms of interval between measures -> 20. In case of problem in HeatMarcel -> 10
220
+ logging.debug("CPU mem measured (even in OutOfProcessNoReplay) : {}".format(cpu_mem_to_test))
221
+ greater_than_100 = [a for a,b in cpu_mem_to_test if a > 100]
222
+ self.assertGreater(len(greater_than_100),1) # At minimum one measure must report CPU load > 100%
223
+ cont.Shutdown()
224
+
225
+ def test3(self):
226
+ """
227
+ [EDF29150] : test that we can resist to a crash at exit
228
+ """
229
+ with tempfile.TemporaryDirectory() as tmpdirname:
230
+ salome.salome_init()
231
+ KernelBasis.SetPyExecutionMode("OutOfProcessWithReplayFT")
232
+ hostname = "localhost"
233
+ cp = pylauncher.GetRequestForGiveContainer(hostname,"container_crash_test")
234
+ salome.cm.SetNumberOfRetry( 3 )
235
+ salome.cm.SetCodeOnContainerStartUp("""a = 2""")
236
+ salome.cm.SetBigObjOnDiskThreshold(1000)
237
+ salome.cm.SetOverrideEnvForContainersSimple(env = [])
238
+ salome.cm.SetDirectoryForReplayFiles(str( tmpdirname ))
239
+ cont = salome.cm.GiveContainer(cp)
240
+ poa = salome.orb.resolve_initial_references("RootPOA")
241
+ obj = SALOME_PyNode.SenderByte_i(poa,pickle.dumps( (["i"],{"i": 3} ) )) ; id_o = poa.activate_object(obj) ; refPtr = poa.id_to_reference(id_o)
242
+ pyscript = cont.createPyScriptNode("testScript4",killMeAtTheEnd)
243
+ pyscript.executeFirst(refPtr)
244
+ ret = pyscript.executeSecond(["j"])
245
+ ret = pickle.loads( SALOME_PyNode.SeqByteReceiver(ret[0]).data() )
246
+ self.assertEqual(ret,54)
247
+ with open(cont.locallogfilename) as f:
248
+ logCont = f.read( )
249
+ self.assertTrue( "WARNING : Retry #" in logCont)
250
+ self.assertTrue( "WARNING : Following code has generated non zero return code" in logCont )# should report something into the container
251
+ cont.Shutdown()
252
+
253
+ def test4(self):
254
+ """
255
+ EDF30399 : Check current directory
256
+ """
257
+ with tempfile.TemporaryDirectory() as tmpdirname:
258
+ os.chdir( tmpdirname )
259
+ KernelBasis.SetForwardCurrentDirectoryStatus( True ) # key point
260
+ salome.salome_init()
261
+ assert(isinstance(KernelBasis.GetAllPyExecutionModes(),tuple))
262
+ KernelBasis.SetPyExecutionMode("OutOfProcessNoReplayFT") # the aim of test is here
263
+ hostname = "localhost"
264
+ cp = pylauncher.GetRequestForGiveContainer(hostname,"container_crash_test_2")
265
+ salome.cm.SetCodeOnContainerStartUp("""a = 2""")
266
+ salome.cm.SetBigObjOnDiskThreshold(1000)
267
+ salome.cm.SetOverrideEnvForContainersSimple(env = [])
268
+ salome.cm.SetDirectoryForReplayFiles( str( tmpdirname ) )
269
+ cont = salome.cm.GiveContainer(cp)
270
+ poa = salome.orb.resolve_initial_references("RootPOA")
271
+ obj = SALOME_PyNode.SenderByte_i(poa,pickle.dumps( (["i"],{"i": 3} ) )) ; id_o = poa.activate_object(obj) ; refPtr = poa.id_to_reference(id_o)
272
+ pyscript = cont.createPyScriptNode("testScript4",killMeAtTheEnd2)
273
+ pyscript.executeFirst(refPtr)
274
+ ret = pyscript.executeSecond(["j","k"])
275
+ ret0 = pickle.loads( SALOME_PyNode.SeqByteReceiver(ret[0]).data() )
276
+ self.assertEqual(ret0,54)
277
+ ret2 = pickle.loads( SALOME_PyNode.SeqByteReceiver(ret[1]).data() )
278
+ self.assertEqual( ret2, str(tmpdirname) )
279
+ cont.Shutdown()
280
+
281
+ def test5(self):
282
+ """
283
+ EDF30875 : Verbose mode set to ON
284
+ """
285
+ from threading import Thread
286
+ def func( fname ):
287
+ import time
288
+ time.sleep( 5 ) # this sleep here is to let time to
289
+ with open( fname, "w" ) as f:
290
+ f.write( "go" )
291
+ # file used to pilot the behaviour of process
292
+ fname = "touch.txt"
293
+ KernelBasis.SetNumberOfRetry(2)
294
+ KernelBasis.SetExecutionTimeOut(10) # <= Key Point is here
295
+ KernelBasis.SetPyExecutionMode("OutOfProcessNoReplayFT") # Fail tolerant
296
+ salome.cm.SetBigObjOnDiskThreshold(1000)
297
+ with tempfile.TemporaryDirectory() as tmpdirname:
298
+ os.chdir( tmpdirname )
299
+ fnameFull = Path(tmpdirname) / fname # this file name will be used to voluntary prevent the first execution to return within 10 seconds. But for 2nd evaluation the execution will return within 10 secs.
300
+ hostname = "localhost"
301
+ cp = pylauncher.GetRequestForGiveContainer(hostname,"container_crash_test_5")
302
+ salome.cm.SetDirectoryForReplayFiles( str( tmpdirname ) )
303
+ with salome.ContainerLauncherCM(cp,True) as cont:
304
+ poa = salome.orb.resolve_initial_references("RootPOA")
305
+ obj = SALOME_PyNode.SenderByte_i(poa,pickle.dumps( (["i"],{"i": 3} ) )) ; id_o = poa.activate_object(obj) ; refPtr = poa.id_to_reference(id_o)
306
+ pyscript = cont.createPyScriptNode("testScript5",FunnyCase_test5.format( fnameFull.as_posix() ))
307
+ t = Thread(target = func,args=[fnameFull.as_posix()])
308
+ t.start()
309
+ pyscript.executeFirst(refPtr)
310
+ ret = pyscript.executeSecond(["j"])
311
+ t.join()
312
+ ret0 = pickle.loads( SALOME_PyNode.SeqByteReceiver(ret[0]).data() )
313
+ self.assertEqual(ret0,44)
314
+ a = salome.logm.NaiveFetch()
315
+ logInfoForCont = [elt for elt in a if "container_crash_test_5" in elt.ns_entry]
316
+ self.assertEqual( len(logInfoForCont), 1 )
317
+ logInfoForCont = logInfoForCont[0]
318
+ self.assertTrue( logInfoForCont[1][0].startExecTime is not None )
319
+ self.assertEqual( [elt[0] for elt in logInfoForCont[1][0].get().freestyle] , ['b4loadctx', 'afterloadctx', 'bforeexec', 'b4loadctx', 'afterloadctx', 'bforeexec', 'afterexec', 'strtdumpout', 'afterdump'] ) # <- aim of test is here. First 3 entries ('b4loadctx', 'afterloadctx', 'bforeexec') prove that first attempt fails to return within 10 sececonds as requested by KernelBasis.SetExecutionTimeOut(10)
320
+ pass
321
+ pass
322
+ KernelBasis.SetExecutionTimeOut(-1)
323
+
324
+ def test6(self):
325
+ """
326
+ EDF30875 : test focusing on memory management in the context of OutOfProcessNoReplay using TCP/mem
327
+ """
328
+ import time
329
+ import numpy as np
330
+ import gc
331
+ szOfData = 125000000# 125 ktuples ~ 1GB
332
+ KernelBasis.SetPyExecutionMode("OutOfProcessNoReplay") # No replay -> corba channel
333
+ salome.cm.SetBigObjOnDiskThreshold(1)
334
+ with tempfile.TemporaryDirectory() as tmpdirname:
335
+ os.chdir( tmpdirname )
336
+ hostname = "localhost"
337
+ cp = pylauncher.GetRequestForGiveContainer(hostname,"container_crash_test_6")
338
+ salome.cm.SetDirectoryForReplayFiles( str( tmpdirname ) )
339
+ KernelBasis.SetBigObjOnDiskDirectory( str( tmpdirname ) )
340
+ with salome.ContainerLauncherCM(cp,True) as cont:
341
+ poa = salome.orb.resolve_initial_references("RootPOA")
342
+ arr = np.zeros(shape=(szOfData,),dtype=np.float64) # 125 ktuples ~ 1GB
343
+ obj = SALOME_PyNode.SenderByte_i(poa,pickle.dumps( (["i"],{"i": arr} ) )) ; id_o = poa.activate_object(obj) ; refPtr = poa.id_to_reference(id_o)
344
+ del obj
345
+ gc.collect()
346
+ pyscript = cont.createPyScriptNode("testScript6",FunnyCase_test6)
347
+ pyscript.executeFirst(refPtr)
348
+ ret = pyscript.executeSecond(["j"])
349
+ pxy = pickle.loads( SALOME_PyNode.SeqByteReceiver(ret[0]).data() ) # receiving twice size of input -> 2 GB
350
+ ret0 = UnProxyObjectSimple( pxy ) # it's a proxy -> un proxyfy it
351
+ DecrRefInFile( pxy.getFileName() )
352
+ logging.debug(f"start to sleep...{os.getpid()}")
353
+ self.assertEqual( ret0.shape[0], 2*szOfData )
354
+ del ret0
355
+ gc.collect()
356
+ #time.sleep(10)
357
+
358
+ def test7(self):
359
+ """
360
+ [EDF30875] : Garanty that DirectoryForReplay is clean after execution.
361
+ """
362
+ import numpy as np
363
+ import gc
364
+ szOfData = 12000
365
+ KernelBasis.SetPyExecutionMode("OutOfProcessWithReplayFT")
366
+ salome.cm.SetBigObjOnDiskThreshold( 1 ) # enable proxy
367
+ with tempfile.TemporaryDirectory() as tmpdirname:
368
+ os.chdir( tmpdirname )
369
+ hostname = "localhost"
370
+ cp = pylauncher.GetRequestForGiveContainer(hostname,"container_crash_test_7")
371
+ salome.cm.SetDirectoryForReplayFiles( str( tmpdirname ) )
372
+ KernelBasis.SetBigObjOnDiskDirectory( str( tmpdirname ) )
373
+ with salome.ContainerLauncherCM(cp,True) as cont:
374
+ poa = salome.orb.resolve_initial_references("RootPOA")
375
+ arr = np.zeros(shape=(szOfData,),dtype=np.float64)
376
+ obj = SALOME_PyNode.SenderByte_i(poa,pickle.dumps( (["i"],{"i": arr} ) )) ; id_o = poa.activate_object(obj) ; refPtr = poa.id_to_reference(id_o)
377
+ gc.collect()
378
+ pyscript = cont.createPyScriptNode("testScript",FunnyCase_test7)
379
+ pyscript.executeFirst(refPtr)
380
+ ret = pyscript.executeSecond(["j"])
381
+ pxy = pickle.loads( SALOME_PyNode.SeqByteReceiver(ret[0]).data() ) # receiving twice size of input -> 2 GB
382
+ ret0 = UnProxyObjectSimple( pxy ) # it's a proxy -> un proxyfy it
383
+ DecrRefInFile( pxy.getFileName() )
384
+ self.assertEqual( len( os.listdir( str( tmpdirname ) ) ) , 0 ) # very important it must be clean
385
+
386
+ def test8(self):
387
+ """
388
+ [EDF30875] : same than test7 but with OutOfProcessWithReplay.
389
+ """
390
+ import numpy as np
391
+ import gc
392
+ szOfData = 12000
393
+ KernelBasis.SetPyExecutionMode("OutOfProcessWithReplay")
394
+ salome.cm.SetBigObjOnDiskThreshold( 1 ) # enable proxy
395
+ with tempfile.TemporaryDirectory() as tmpdirname:
396
+ os.chdir( tmpdirname )
397
+ hostname = "localhost"
398
+ cp = pylauncher.GetRequestForGiveContainer(hostname,"container_crash_test_8")
399
+ salome.cm.SetDirectoryForReplayFiles( str( tmpdirname ) )
400
+ KernelBasis.SetBigObjOnDiskDirectory( str( tmpdirname ) )
401
+ with salome.ContainerLauncherCM(cp,True) as cont:
402
+ poa = salome.orb.resolve_initial_references("RootPOA")
403
+ arr = np.zeros(shape=(szOfData,),dtype=np.float64)
404
+ obj = SALOME_PyNode.SenderByte_i(poa,pickle.dumps( (["i"],{"i": arr} ) )) ; id_o = poa.activate_object(obj) ; refPtr = poa.id_to_reference(id_o)
405
+ gc.collect()
406
+ pyscript = cont.createPyScriptNode("testScript",FunnyCase_test7)
407
+ pyscript.executeFirst(refPtr)
408
+ ret = pyscript.executeSecond(["j"])
409
+ pxy = pickle.loads( SALOME_PyNode.SeqByteReceiver(ret[0]).data() ) # receiving twice size of input -> 2 GB
410
+ ret0 = UnProxyObjectSimple( pxy ) # it's a proxy -> un proxyfy it
411
+ DecrRefInFile( pxy.getFileName() )
412
+ self.assertEqual( len( os.listdir( str( tmpdirname ) ) ) , 0 ) # very important it must be clean
413
+
414
+
415
+ if __name__ == '__main__':
416
+ from salome.kernel.salome_utils import positionVerbosityOfLoggerRegardingState,setVerboseLevel,setVerbose
417
+ salome.standalone()
418
+ salome.salome_init()
419
+ setVerbose(True)
420
+ setVerboseLevel(logging.DEBUG)
421
+ positionVerbosityOfLoggerRegardingState()
422
+ unittest.main()
423
+