Salome HOME
Add a test for most of the examples.
[tools/yacsgen.git] / Examples / test_compo.py
1 #! /usr/bin/env python
2 # -*- coding: utf-8 -*-
3 import unittest
4
5 import os
6 import sys
7
8 import imp
9 salome_module = imp.load_source("SALOME", os.path.join("appli", "salome"))
10
11 class TestCompo(unittest.TestCase):
12   def setUp(self):
13     #start salome and connect to it
14     salome_module.main(["start", "-t"])
15     import runSession
16     runSession.configureSession()
17     import setenv
18     setenv.main(True)
19     
20     # creat study and load catalogs
21     import SALOMERuntime
22     SALOMERuntime.RuntimeSALOME_setRuntime()
23     salome_runtime = SALOMERuntime.getSALOMERuntime()
24     
25     import salome
26     salome.salome_init()
27     
28     mc = salome.naming_service.Resolve('/Kernel/ModulCatalog')
29     ior = salome.orb.object_to_string(mc)
30     session_catalog = salome_runtime.loadCatalog("session", ior)
31     salome_runtime.addCatalog(session_catalog)
32
33   def test_exec_scheme(self):
34     import pilot
35     import loader
36
37     xmlLoader = loader.YACSLoader()
38     try:
39       p = xmlLoader.load("coupling.xml")
40     except IOError,ex:
41       self.fail("IO exception:" + ex);
42     self.assertTrue(p.isValid())
43     e = pilot.ExecutorSwig()
44     e.RunW(p)
45     self.assertEqual(p.getEffectiveState(), pilot.DONE)
46     
47   def tearDown(self):
48     salome_module.main(["killall"])
49   
50 if __name__ == '__main__':
51     unittest.main()