Salome HOME
Merge from V6_main 01/04/2013
[modules/kernel.git] / src / LifeCycleCORBA_SWIG / Test / TestLifeCycleCORBA_SWIG.py
1 #  -*- coding: iso-8859-1 -*-
2 # Copyright (C) 2007-2013  CEA/DEN, EDF R&D, 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.
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 #  File   : TestLifeCycleCORBA_SWIG.py
25 #  Author : Paul RASCLE, EDF
26 #  Module : SALOME
27 #  $Header$
28 #
29 import sys, os,signal,string,commands
30 import runSalome
31 import setenv
32 import orbmodule
33 import TestKiller
34 import addToKillList
35
36 # get SALOME environment :
37
38 args, modules_list, modules_root_dir = setenv.get_config()
39 setenv.set_env(args, modules_list, modules_root_dir)
40
41 # set environment for trace in logger
42 # (with file, servers may be killed before the write to the file...)
43
44 #os.environ["SALOME_trace"] = "file:/tmp/traceUnitTest.log"
45 #os.environ["SALOME_trace"] = "local"
46 os.environ["SALOME_trace"] = "with_logger"
47
48 # launch CORBA naming server
49
50 clt=orbmodule.client()
51
52 # launch CORBA logger server
53
54 myServer=runSalome.LoggerServer(args)
55 myServer.run()
56 clt.waitLogger("Logger")
57
58 # launch notify server
59
60 myServer=runSalome.NotifyServer(args,modules_root_dir)
61 myServer.run()
62
63 # launch registry server
64
65 myServer=runSalome.RegistryServer(args)
66 myServer.run()
67 clt.waitNS("/Registry")
68
69 # launch module catalog server
70
71 cataServer=runSalome.CatalogServer(args)
72 cataServer.setpath(modules_list,modules_root_dir)
73 cataServer.run()
74 clt.waitNS("/Kernel/ModulCatalog")
75
76 # launch container manager server
77
78 myCmServer = runSalome.LauncherServer(args)
79 myCmServer.setpath(modules_list,modules_root_dir)
80 myCmServer.run()
81 clt.waitNS("/SalomeLauncher")
82
83 # execute Unit Test
84
85 command = ['TestLifeCycleCORBA']
86 ret = os.spawnvp(os.P_WAIT, command[0], command)
87
88 import LifeCycleCORBA_SWIGTest
89 import unittest
90 unittest.TextTestRunner(verbosity=2).run(LifeCycleCORBA_SWIGTest.suite())
91
92 # kill containers created by the Container Manager
93
94 import Engines
95 launcher = clt.waitNS("/SalomeLauncher",Engines.SalomeLauncher)
96 launcher.Shutdown()
97
98 # kill Test process
99
100 addToKillList.killList()
101
102 TestKiller.killProcess(runSalome.process_id)