salome.kernel 9.14.0__cp310-cp310-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-91a70951.so +0 -0
  352. salome.kernel.libs/libDF-281cc999.so +0 -0
  353. salome.kernel.libs/libLauncher-d5172385.so +0 -0
  354. salome.kernel.libs/libLauncherWrapHelper-b990b914.so +0 -0
  355. salome.kernel.libs/libOpUtil-b4b3b9b6.so +0 -0
  356. salome.kernel.libs/libRegistry-e24daafb.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-781cb934.so +0 -0
  362. salome.kernel.libs/libSalomeCatalog-5b91a229.so +0 -0
  363. salome.kernel.libs/libSalomeCommunication-6013ebb8.so +0 -0
  364. salome.kernel.libs/libSalomeContainer-decf499e.so +0 -0
  365. salome.kernel.libs/libSalomeContainerServer-9c26efb9.so +0 -0
  366. salome.kernel.libs/libSalomeDS-fb6237e6.so +0 -0
  367. salome.kernel.libs/libSalomeDSCContainer-9aba4abc.so +0 -0
  368. salome.kernel.libs/libSalomeDSCSuperv-cb0c82c4.so +0 -0
  369. salome.kernel.libs/libSalomeDSCSupervBasic-5e119792.so +0 -0
  370. salome.kernel.libs/libSalomeDSClient-cfd124a5.so +0 -0
  371. salome.kernel.libs/libSalomeDSImpl-b0ca6717.so +0 -0
  372. salome.kernel.libs/libSalomeDatastream-755ff3cb.so +0 -0
  373. salome.kernel.libs/libSalomeGenericObj-2571fdbd.so +0 -0
  374. salome.kernel.libs/libSalomeHDFPersist-97851d0e.so +0 -0
  375. salome.kernel.libs/libSalomeIDLKernel-2eb1ed8e.so +0 -0
  376. salome.kernel.libs/libSalomeKernelHelpers-ac8d226c.so +0 -0
  377. salome.kernel.libs/libSalomeLauncher-773b54ed.so +0 -0
  378. salome.kernel.libs/libSalomeLifeCycleCORBA-3e113d61.so +0 -0
  379. salome.kernel.libs/libSalomeLoggerServer-973d3d94.so +0 -0
  380. salome.kernel.libs/libSalomeNS-d87194d5.so +0 -0
  381. salome.kernel.libs/libSalomeNotification-83bfb2ff.so +0 -0
  382. salome.kernel.libs/libSalomeORB-07883efb.so +0 -0
  383. salome.kernel.libs/libSalomePalm-b748443e.so +0 -0
  384. salome.kernel.libs/libSalomeResourcesManager-5a7077a0.so +0 -0
  385. salome.kernel.libs/libSalomeSDS-cc7aada7.so +0 -0
  386. salome.kernel.libs/libSalomeTestComponentEngine-ae724ce1.so +0 -0
  387. salome.kernel.libs/libTOOLSDS-82342bb4.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-7ed0f3a0.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,291 @@
1
+ # -*- coding: iso-8859-1 -*-
2
+ # Copyright (C) 2023-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
+ import unittest
22
+ import os
23
+ from salome.kernel import salome
24
+ from salome.kernel import Engines
25
+ import pickle
26
+ import tempfile
27
+ from salome.kernel import pylauncher
28
+ from salome.kernel import KernelBasis
29
+
30
+ class TestProxy(unittest.TestCase):
31
+ def testProxy(self):
32
+ """
33
+ [EDF27816] : This test checks two things :
34
+ - Capability of ContainerManager to launch a Container with overriden environement
35
+ - Management of proxy creation to manage big obj exchange between process (here between Container and the current process)
36
+ """
37
+ hostname = "localhost"
38
+ cp = pylauncher.GetRequestForGiveContainer(hostname,"container_test")
39
+
40
+ with tempfile.TemporaryDirectory() as tmpdirname:
41
+ val_for_jj = "3333"
42
+ val_for_big_obj = str( tmpdirname )
43
+ val_for_thres = 100 # force proxy file
44
+ # Override environement for all containers launched
45
+ salome.cm.SetBigObjOnDiskDirectory(val_for_big_obj)
46
+ salome.cm.SetBigObjOnDiskThreshold(val_for_thres)
47
+ salome.cm.SetOverrideEnvForContainersSimple(env = [("jj",val_for_jj)])
48
+ cont = salome.cm.GiveContainer(cp)
49
+ ## Time to test it
50
+ script_st = """import os
51
+ from salome.kernel import KernelBasis
52
+ _,a = KernelBasis.GetBigObjOnDiskProtocolAndDirectory()
53
+ b = os.environ["jj"]
54
+ c = KernelBasis.GetBigObjOnDiskThreshold()
55
+ j = a,b,c"""
56
+ pyscript = cont.createPyScriptNode("testScript",script_st)
57
+ a,b,c = pickle.loads(pyscript.execute(["j"],pickle.dumps(([],{}))))[0]
58
+ self.assertTrue( a == val_for_big_obj )
59
+ self.assertTrue( b == val_for_jj )
60
+ self.assertTrue( c == val_for_thres )
61
+ # check environment using POSIX API in the container process
62
+ for k,v in [("jj",val_for_jj)]:
63
+ assert( {elt.key:elt.value.value() for elt in cont.get_os_environment()}[k] == v )
64
+ #
65
+ from salome.kernel import SALOME_PyNode
66
+ poa = salome.orb.resolve_initial_references("RootPOA")
67
+ obj = SALOME_PyNode.SenderByte_i(poa,pickle.dumps( ([],{}) ))
68
+ id_o = poa.activate_object(obj)
69
+ refPtr = poa.id_to_reference(id_o)
70
+ script_st2 = """ob = list( range(100) )""" # size of pickled ob must be greater than val_for_thres
71
+ pyscript2 = cont.createPyScriptNode("testScript2",script_st2)
72
+ pyscript2.executeFirst(refPtr)
73
+ ret2 = pyscript2.executeSecond(["ob"])
74
+ self.assertTrue( len(ret2) == 1)
75
+ ret2 = ret2[0]
76
+ ret3 = pickle.loads( SALOME_PyNode.SeqByteReceiver(ret2).data() )
77
+ self.assertTrue( isinstance( ret3, SALOME_PyNode.BigObjectOnDiskList ) )
78
+ self.assertTrue( val_for_big_obj == os.path.dirname( ret3.getFileName().getFileName() ) )# very important part of test
79
+ self.assertTrue( ret3.get() == list(range(100)) )
80
+ fn = ret3.getFileName().getFileName()
81
+ self.assertTrue( os.path.exists( fn ) )
82
+ ret3.unlinkOnDestructor()
83
+ del ret3
84
+ import gc
85
+ gc.collect(0)
86
+ self.assertTrue( not os.path.exists( fn ) ) # at destruction of ret3 the corresponding pckl file must be destructed
87
+ cont.Shutdown()
88
+
89
+ def testExecCodeAtInit(self):
90
+ """
91
+ [EDF28648] : allow initialisation script at startup
92
+ """
93
+ import os
94
+ with tempfile.NamedTemporaryFile() as tmpFileName:
95
+ tmpFileName.close()
96
+ salome.cm.SetCodeOnContainerStartUp("""
97
+ with open("{}","w") as f:
98
+ f.write("coucou")
99
+ """.format(tmpFileName.name) )# injection of python code expected to be executed at startup
100
+ cp = pylauncher.GetRequestForGiveContainer("localhost","gg")
101
+ cont = salome.cm.GiveContainer(cp) # code is expected to be executed in process abroad -> file is supposed to contain coucou
102
+ cont.Shutdown()
103
+ salome.cm.SetCodeOnContainerStartUp("") # no more startup code for other tests
104
+ with open(tmpFileName.name,"r") as f:
105
+ self.assertTrue(f.read()=="coucou")
106
+ os.unlink( tmpFileName.name ) # context manager do not clean file
107
+
108
+ def testWorkingDirectoryForward(self):
109
+ """
110
+ [EDF30062] test of forward of current directory overriding entry in Catalog
111
+ """
112
+ KernelBasis.SetForwardCurrentDirectoryStatus( True ) # key point
113
+ hostname = "localhost"
114
+ cp = pylauncher.GetRequestForGiveContainer(hostname,"container_test")
115
+
116
+ with tempfile.TemporaryDirectory() as tmpdirname:
117
+ os.chdir( str( tmpdirname ) )
118
+ cp = pylauncher.GetRequestForGiveContainer("localhost","gg")
119
+ cont = salome.cm.GiveContainer(cp)
120
+
121
+ pyscript2 = cont.createPyScriptNode("testScript","""import os
122
+ ret = os.getcwd()
123
+ """)
124
+ #
125
+ from salome.kernel import SALOME_PyNode
126
+ poa = salome.orb.resolve_initial_references("RootPOA")
127
+ obj = SALOME_PyNode.SenderByte_i(poa,pickle.dumps( ([],{}) ))
128
+ id_o = poa.activate_object(obj)
129
+ refPtr = poa.id_to_reference(id_o)
130
+ #
131
+ pyscript2.executeFirst(refPtr)
132
+ ret2 = pyscript2.executeSecond(["ret"])
133
+ #
134
+ ret2 = ret2[0]
135
+ ret3 = pickle.loads( SALOME_PyNode.SeqByteReceiver(ret2).data() )
136
+ self.assertEqual(ret3,str(tmpdirname)) # key point
137
+ #
138
+ cont.Shutdown()
139
+ ################
140
+ KernelBasis.SetForwardCurrentDirectoryStatus( False ) # key point
141
+ cp = pylauncher.GetRequestForGiveContainer(hostname,"container_test")
142
+
143
+ with tempfile.TemporaryDirectory() as tmpdirname:
144
+ os.chdir( str( tmpdirname ) )
145
+ cp = pylauncher.GetRequestForGiveContainer("localhost","gg")
146
+ cont = salome.cm.GiveContainer(cp)
147
+
148
+ pyscript2 = cont.createPyScriptNode("testScript","""import os
149
+ ret = os.getcwd()
150
+ """)
151
+ #
152
+ from salome.kernel import SALOME_PyNode
153
+ poa = salome.orb.resolve_initial_references("RootPOA")
154
+ obj = SALOME_PyNode.SenderByte_i(poa,pickle.dumps( ([],{}) ))
155
+ id_o = poa.activate_object(obj)
156
+ refPtr = poa.id_to_reference(id_o)
157
+ #
158
+ pyscript2.executeFirst(refPtr)
159
+ ret2 = pyscript2.executeSecond(["ret"])
160
+ #
161
+ ret2 = ret2[0]
162
+ ret3 = pickle.loads( SALOME_PyNode.SeqByteReceiver(ret2).data() )
163
+ self.assertNotEqual(ret3,str(tmpdirname)) # key point
164
+ #
165
+ cont.Shutdown()
166
+
167
+ def testAccessOfResourcesAcrossWorkers(self):
168
+ """
169
+ [EDF30157] To ease testing advanced configuration. This test checks that
170
+ """
171
+ ### start of catalog manipulation in memory
172
+ rmcpp = pylauncher.RetrieveRMCppSingleton()
173
+ res0 = pylauncher.CreateContainerResource("zFakeHost","/home/appli/fakeappli","ssh")
174
+ rmcpp.AddResourceInCatalogNoQuestion(res0)#<- key point is here
175
+ res1 = pylauncher.CreateContainerResource("zzFakeHost","/home/appli/zzfakeappli","ssh")
176
+ rmcpp.AddResourceInCatalogNoQuestion(res1)#<- key point is here
177
+ ### end of catalog manipulation in memory
178
+
179
+ ### start to check effectivity of manipulation locally
180
+ machines = salome.rm.ListAllResourceEntriesInCatalog()
181
+ localStructure = { machine : salome.rm.GetResourceDefinition2( machine ) for machine in machines }
182
+ ### end of check effectivity of manipulation locally
183
+
184
+ cp = pylauncher.GetRequestForGiveContainer("localhost","gg")
185
+ with salome.ContainerLauncherCM(cp) as cont:
186
+ pyscript = cont.createPyScriptNode("testScript","""
187
+ from salome.kernel import salome
188
+ salome.salome_init()
189
+ machines = salome.rm.ListAllResourceEntriesInCatalog()
190
+ structure = { machine : salome.rm.GetResourceDefinition2( machine ) for machine in machines }
191
+ """) # retrieve the content remotely and then return it back to current process
192
+ from salome.kernel import SALOME_PyNode
193
+ import pickle
194
+ poa = salome.orb.resolve_initial_references("RootPOA")
195
+ obj = SALOME_PyNode.SenderByte_i(poa,pickle.dumps( ([],{}) ))
196
+ id_o = poa.activate_object(obj)
197
+ refPtr = poa.id_to_reference(id_o)
198
+ #
199
+ pyscript.executeFirst(refPtr)
200
+ ret = pyscript.executeSecond(["structure"])
201
+ ret = ret[0]
202
+ retPy = pickle.loads( SALOME_PyNode.SeqByteReceiver(ret).data() )
203
+
204
+ self.assertTrue( len(localStructure) == len(retPy) )
205
+ self.assertTrue( "zFakeHost" in [elt for elt in localStructure])
206
+ self.assertTrue( localStructure["zFakeHost"].applipath == "/home/appli/fakeappli")
207
+ self.assertTrue( "zzFakeHost" in [elt for elt in localStructure])
208
+ self.assertTrue( localStructure["zzFakeHost"].applipath == "/home/appli/zzfakeappli")
209
+ for k in localStructure:
210
+ a = pylauncher.FromEngineResourceDefinitionToCPP( localStructure[k] )
211
+ self.assertTrue( isinstance(a,pylauncher.ResourceDefinition_cpp) )
212
+ b = pylauncher.FromEngineResourceDefinitionToCPP( retPy[k] )
213
+ self.assertTrue( isinstance(b,pylauncher.ResourceDefinition_cpp) )
214
+ self.assertTrue( a==b ) #<- key point is here
215
+ a1 = pylauncher.ToEngineResourceDefinitionFromCPP( a )
216
+ b1 = pylauncher.ToEngineResourceDefinitionFromCPP( b )
217
+ a2 = pylauncher.FromEngineResourceDefinitionToCPP( a1 )
218
+ b2 = pylauncher.FromEngineResourceDefinitionToCPP( b1 )
219
+ self.assertTrue( a2==b2 )
220
+
221
+ def testMultiProcessCriticalSection0(self):
222
+ """
223
+ [EDF30382] : Synchro mecanism to ease test of extreme situations
224
+ """
225
+ from datetime import datetime
226
+ from threading import Thread
227
+ import contextlib
228
+ from salome.kernel import SALOME_PyNode
229
+ import time
230
+
231
+ def func(pyscript,b):
232
+ poa = salome.orb.resolve_initial_references("RootPOA")
233
+ obj = SALOME_PyNode.SenderByte_i(poa,pickle.dumps( (["b"],{"b":b} ) )) ; id_o = poa.activate_object(obj) ; refPtr = poa.id_to_reference(id_o)
234
+ pyscript.executeFirst(refPtr)
235
+ ret = pyscript.executeSecond([])
236
+ retPy = [ pickle.loads( SALOME_PyNode.SeqByteReceiver( elt ).data() ) for elt in ret]
237
+ return retPy
238
+
239
+ salome.salome_init()
240
+ rmcpp = pylauncher.RetrieveRMCppSingleton()
241
+ hostname = "localhost"
242
+ cps = [ pylauncher.GetRequestForGiveContainer(hostname,contName) for contName in ["container_test_lock","container_test_lock_2"]]
243
+ with contextlib.ExitStack() as stack:
244
+ conts = [stack.enter_context(salome.ContainerLauncherCM(cp)) for cp in cps] # Context Manager to automatically cleanup launched containers
245
+ b = salome.Barrier(3)
246
+ pyscript = conts[0].createPyScriptNode("testScript","""
247
+ from datetime import datetime
248
+ from salome.kernel import salome
249
+ import time
250
+ time.sleep( 2.0 )
251
+ b.barrier()
252
+ print("go barrier")
253
+ print("after barrier T0 : {}".format(datetime.now()))
254
+ with salome.LockGuardCM("SSD"):
255
+ print("Start CS T0 : {}".format(datetime.now()))
256
+ time.sleep(5)
257
+ print("End CS T0 : {}".format(datetime.now()))
258
+ """)
259
+ pyscript2 = conts[1].createPyScriptNode("testScript","""
260
+ from datetime import datetime
261
+ from salome.kernel import salome
262
+ import time
263
+ time.sleep( 4.0 )
264
+ b.barrier()
265
+ print("go barrier")
266
+ print("after barrier T1 : {}".format(datetime.now()))
267
+ with salome.LockGuardCM("SSD"):
268
+ print("Start CS T1 : {}".format(datetime.now()))
269
+ time.sleep(5)
270
+ print("End CS T1 : {}".format(datetime.now()))
271
+ """)
272
+ ts = [Thread( target=func, args=(ps,b) ) for ps in [pyscript,pyscript2]]
273
+ [t.start() for t in ts]
274
+ st0 = datetime.now()
275
+ time.sleep( 1.0 )
276
+ b.barrier() # wait everybody
277
+ print("go barrier")
278
+ print("after barrier Master : {}".format(datetime.now()))
279
+ with salome.LockGuardCM("SSD"):
280
+ print("In critical section")
281
+ [t.join() for t in ts]
282
+ zedelt = datetime.now() - st0
283
+ assert( zedelt.total_seconds() > 14.0 ) # expected max(1,2,4)+5+5 = 14s
284
+ pass
285
+ pass
286
+
287
+
288
+ if __name__ == '__main__':
289
+ salome.standalone()
290
+ salome.salome_init()
291
+ unittest.main()
@@ -0,0 +1,106 @@
1
+ # -*- coding: iso-8859-1 -*-
2
+ # Copyright (C) 2007-2024 CEA, EDF, OPEN CASCADE
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
+ import unittest
22
+ from os import getcwd
23
+ from salome.kernel.Engines import ContainerParameters, ResourceParameters
24
+ from salome.kernel import SALOME
25
+ from salome.kernel import salome
26
+
27
+ from time import sleep
28
+
29
+ class TestResourceManager(unittest.TestCase):
30
+ def getContainer(self, name):
31
+ rp = ResourceParameters(name="localhost",
32
+ hostname="localhost",
33
+ can_launch_batch_jobs=False,
34
+ can_run_containers=True,
35
+ OS="Linux",
36
+ componentList=[],
37
+ nb_proc=1,
38
+ mem_mb=1000,
39
+ cpu_clock=1000,
40
+ nb_node=1,
41
+ nb_proc_per_node=1,
42
+ policy="first",
43
+ resList=[])
44
+ cp = ContainerParameters(container_name=name,
45
+ mode="start",
46
+ workingdir=getcwd(),
47
+ nb_proc=1,
48
+ isMPI=False,
49
+ parallelLib="",
50
+ resource_params=rp)
51
+ cm = salome.naming_service.Resolve("/ContainerManager")
52
+ return cm.GiveContainer(cp)
53
+
54
+ def checkLoads(self, cont, loads):
55
+ self.assertEqual(len(loads), cont.getNumberOfCPUCores())
56
+ for load in loads:
57
+ self.assertTrue(0.0 <= load <= 1.0)
58
+
59
+ def test1(self):
60
+ # Check custom script
61
+ cont = self.getContainer("test_container_2")
62
+ import multiprocessing as mp
63
+ ref_load = [min(0.1*(i+1),1.0) for i in range(mp.cpu_count())]
64
+ cont.setPyScriptForCPULoad('cpu_loads = {}'.format(ref_load))
65
+ loads1 = cont.loadOfCPUCores()
66
+ self.assertEqual(loads1, ref_load)
67
+ cont.resetScriptForCPULoad()
68
+ loads2 = cont.loadOfCPUCores()
69
+ self.checkLoads(cont, loads2)
70
+ cont.Shutdown()
71
+
72
+ def test2(self):
73
+ # Check bad script
74
+ cont = self.getContainer("test_container_3")
75
+ cont.setPyScriptForCPULoad("bla-bla-bla")
76
+ self.assertRaises(Exception, cont.loadOfCPUCores)
77
+ cont.Shutdown()
78
+
79
+ def test3(self):
80
+ # check memory sizes
81
+ cont = self.getContainer("test_container_4")
82
+ memory_total = cont.getTotalPhysicalMemory()
83
+ memory_in_use = cont.getTotalPhysicalMemoryInUse()
84
+ memory_by_me = cont.getTotalPhysicalMemoryInUseByMe()
85
+ self.assertGreater(memory_total, memory_in_use)
86
+ self.assertGreater(memory_in_use, memory_by_me)
87
+ cont.Shutdown()
88
+
89
+ def test4(self):
90
+ """
91
+ Test checking memory consumption of container
92
+ """
93
+ cont = self.getContainer("test_container_5")
94
+ memory_by_me_start = cont.getTotalPhysicalMemoryInUseByMe()
95
+ import pickle
96
+ psn = cont.createPyScriptNode("n","""b = bytearray(10485760)""")# create 10MB byte array abroad
97
+ psn.execute([],pickle.dumps(((),{})))
98
+ memory_by_me_end = cont.getTotalPhysicalMemoryInUseByMe()
99
+ self.assertGreater(memory_by_me_end,memory_by_me_start)
100
+ self.assertIn(memory_by_me_end-memory_by_me_start,[9,10,11,12])# test elevation of memory
101
+ cont.Shutdown()
102
+
103
+ if __name__ == '__main__':
104
+ salome.standalone()
105
+ salome.salome_init()
106
+ unittest.main()
@@ -0,0 +1,31 @@
1
+ # Copyright (C) 2015-2024 CEA, EDF
2
+ #
3
+ # This library is free software; you can redistribute it and/or
4
+ # modify it under the terms of the GNU Lesser General Public
5
+ # License as published by the Free Software Foundation; either
6
+ # version 2.1 of the License, or (at your option) any later version.
7
+ #
8
+ # This library is distributed in the hope that it will be useful,
9
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
10
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11
+ # Lesser General Public License for more details.
12
+ #
13
+ # You should have received a copy of the GNU Lesser General Public
14
+ # License along with this library; if not, write to the Free Software
15
+ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
16
+ #
17
+ # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
18
+ #
19
+
20
+ IF(NOT WIN32)
21
+ SET(TEST_NAME ${COMPONENT_NAME}_KernelHelpers)
22
+ ADD_TEST(${TEST_NAME} ${SALOME_TEST_DRIVER} ${TIMEOUT} TestKernelHelpers.py)
23
+ SET_TESTS_PROPERTIES(${TEST_NAME} PROPERTIES
24
+ LABELS "${COMPONENT_NAME}"
25
+ ENVIRONMENT "LD_LIBRARY_PATH=${KERNEL_TEST_LIB}:$ENV{LD_LIBRARY_PATH}"
26
+ # TIMEOUT 500
27
+ )
28
+ # /!\ DO NOT SET TIMEOUT PROPERTY IF USING ${SALOME_TEST_DRIVER}
29
+ # BUT PASS TIMEOUT VALUE TO THE DRIVER
30
+
31
+ ENDIF()
@@ -0,0 +1,58 @@
1
+ // Copyright (C) 2007-2024 CEA, EDF, OPEN CASCADE
2
+ //
3
+ // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4
+ // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
5
+ //
6
+ // This library is free software; you can redistribute it and/or
7
+ // modify it under the terms of the GNU Lesser General Public
8
+ // License as published by the Free Software Foundation; either
9
+ // version 2.1 of the License, or (at your option) any later version.
10
+ //
11
+ // This library is distributed in the hope that it will be useful,
12
+ // but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
+ // Lesser General Public License for more details.
15
+ //
16
+ // You should have received a copy of the GNU Lesser General Public
17
+ // License along with this library; if not, write to the Free Software
18
+ // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19
+ //
20
+ // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21
+ //
22
+
23
+ #ifndef _SalomeAppTEST_HXX_
24
+ #define _SalomeAppTEST_HXX_
25
+
26
+ #include <cppunit/extensions/HelperMacros.h>
27
+
28
+ #ifdef WIN32
29
+ # if defined KERNELHELPERSTEST_EXPORTS || defined SalomeKernelHelpersTest_EXPORTS
30
+ # define KERNELHELPERSTEST_EXPORT __declspec( dllexport )
31
+ # else
32
+ # define KERNELHELPERSTEST_EXPORT __declspec( dllimport )
33
+ # endif
34
+ #else
35
+ # define KERNELHELPERSTEST_EXPORT
36
+ #endif
37
+
38
+ class KERNELHELPERSTEST_EXPORT KernelHelpersUnitTests : public CppUnit::TestFixture
39
+ {
40
+ CPPUNIT_TEST_SUITE( KernelHelpersUnitTests );
41
+ CPPUNIT_TEST( TEST_corba );
42
+ CPPUNIT_TEST( TEST_getLifeCycleCORBA );
43
+ CPPUNIT_TEST( TEST_getStudy );
44
+ CPPUNIT_TEST( TEST_getSalomeLauncher );
45
+ CPPUNIT_TEST_SUITE_END();
46
+
47
+ public:
48
+
49
+ void setUp();
50
+ void tearDown();
51
+
52
+ void TEST_corba();
53
+ void TEST_getLifeCycleCORBA();
54
+ void TEST_getStudy();
55
+ void TEST_getSalomeLauncher();
56
+ };
57
+
58
+ #endif
@@ -0,0 +1,55 @@
1
+ # -*- coding: iso-8859-1 -*-
2
+ # Copyright (C) 2007-2024 CEA, EDF, OPEN CASCADE
3
+ #
4
+ # Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
5
+ # CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
6
+ #
7
+ # This library is free software; you can redistribute it and/or
8
+ # modify it under the terms of the GNU Lesser General Public
9
+ # License as published by the Free Software Foundation; either
10
+ # version 2.1 of the License, or (at your option) any later version.
11
+ #
12
+ # This library is distributed in the hope that it will be useful,
13
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15
+ # Lesser General Public License for more details.
16
+ #
17
+ # You should have received a copy of the GNU Lesser General Public
18
+ # License along with this library; if not, write to the Free Software
19
+ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20
+ #
21
+ # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
22
+ #
23
+
24
+ import sys, os,signal,string,subprocess
25
+ import subprocess
26
+ from salome.kernel import runSalomeOld_impl
27
+ from salome.kernel import setenv_impl
28
+ from salome.kernel import orbmodule
29
+ from salome.kernel import TestKiller
30
+
31
+ # get SALOME environment :
32
+
33
+ args, modules_list, modules_root_dir = setenv_impl.get_config()
34
+ setenv_impl.set_env(args, modules_list, modules_root_dir)
35
+
36
+ # launch CORBA naming server
37
+
38
+ clt=orbmodule.client()
39
+
40
+ # launch CORBA logger server
41
+
42
+ myServer=runSalomeOld_impl.LoggerServer(args)
43
+ myServer.run()
44
+ clt.waitLogger("Logger")
45
+
46
+ # execute Unit Test
47
+
48
+ command = ['./TestKernelHelpers']
49
+ ret = subprocess.call(command)
50
+
51
+ # kill Test process
52
+
53
+ TestKiller.killProcess(runSalomeOld_impl.process_id)
54
+ TestKiller.closeSalome()
55
+ exit(ret)
@@ -0,0 +1,43 @@
1
+ # Copyright (C) 2015-2024 CEA, EDF
2
+ #
3
+ # This library is free software; you can redistribute it and/or
4
+ # modify it under the terms of the GNU Lesser General Public
5
+ # License as published by the Free Software Foundation; either
6
+ # version 2.1 of the License, or (at your option) any later version.
7
+ #
8
+ # This library is distributed in the hope that it will be useful,
9
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
10
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11
+ # Lesser General Public License for more details.
12
+ #
13
+ # You should have received a copy of the GNU Lesser General Public
14
+ # License along with this library; if not, write to the Free Software
15
+ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
16
+ #
17
+ # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
18
+ #
19
+
20
+ IF(NOT WIN32)
21
+ SET(TEST_NAME ${COMPONENT_NAME}_Launcher)
22
+ ADD_TEST(${TEST_NAME} ${PYTHON_TEST_DRIVER} 2000 test_launcher.py)
23
+ SET_TESTS_PROPERTIES(${TEST_NAME} PROPERTIES LABELS "${COMPONENT_NAME}")
24
+
25
+ SET(TEST_NAME ${COMPONENT_NAME}_AttachedLauncher)
26
+ ADD_TEST(${TEST_NAME} ${PYTHON_TEST_DRIVER} 2000 TestSSLAttached.py)
27
+ SET_TESTS_PROPERTIES(${TEST_NAME} PROPERTIES LABELS "${COMPONENT_NAME}")
28
+
29
+ SET(TEST_NAME ${COMPONENT_NAME}_StressLauncher)
30
+ ADD_TEST(${TEST_NAME} ${PYTHON_TEST_DRIVER} 2000 ./test_stress.sh)
31
+ SET_TESTS_PROPERTIES(${TEST_NAME} PROPERTIES LABELS "${COMPONENT_NAME}")
32
+
33
+ SET(TEST_NAME ${COMPONENT_NAME}_PerfLogManager1)
34
+ ADD_TEST(${TEST_NAME} ${PYTHON_TEST_DRIVER} 2000 testPerfLogManager1.py)
35
+ SET_TESTS_PROPERTIES(${TEST_NAME} PROPERTIES LABELS "${COMPONENT_NAME}")
36
+
37
+ SET(TEST_NAME ${COMPONENT_NAME}_testCrashProofContainer)
38
+ ADD_TEST(${TEST_NAME} ${PYTHON_TEST_DRIVER} 2000 testCrashProofContainer.py)
39
+ SET_TESTS_PROPERTIES(${TEST_NAME} PROPERTIES LABELS "${COMPONENT_NAME}")
40
+ # /!\ DO NOT SET TIMEOUT PROPERTY IF USING ${SALOME_TEST_DRIVER}
41
+ # BUT PASS TIMEOUT VALUE TO THE DRIVER
42
+
43
+ ENDIF()