Exemplo n.º 1
0
    def check_elems_presistence(self, info):
        """Helper method to test the elements persistence. The actions are:
            - creation of controller and element
            - restart Pool
            - check if element persist

        :param info: information about controller (type, library, class)
        :type info: tuple<str>
        """
        # Create controller
        self.do_element_cleanup = False
        sar_type, lib, cls = info
        base_name = "ctrl_persistent_" + cls
        self.ctrl_name = get_free_alias(PyTango.Database(), base_name)
        self.pool.CreateController([sar_type, lib, cls, self.ctrl_name])

        # Create element
        base_name = "elem_persistent_" + cls
        self.elem_name = get_free_alias(PyTango.Database(), base_name)
        axis = 1
        self.pool.CreateElement([sar_type, self.ctrl_name, str(axis),
                                 self.elem_name])
        # Restart Pool
        self._starter.stopDs(hard_kill=True)
        self._starter.startDs()
        # Check if the element exists
        try:
            obj = PyTango.DeviceProxy(self.elem_name)
            # the element is persistent, cleanup is necessary
            self.do_element_cleanup = True
        except:
            obj = None
        msg = 'The element "%s" does not exist after restarting the Pool' %\
            (self.elem_name)
        self.assertIsNotNone(obj, msg)
Exemplo n.º 2
0
 def setUp(self):
     """Create dummy motor controller and dummy motor element
     """
     super(ReadMotorPositionOutsideLim, self).setUp()
     sar_type = 'Motor'
     lib = 'DummyMotorController'
     cls = 'DummyMotorController'
     self.ctrl_name = get_free_alias(PyTango.Database(), "readposctrl")
     self.pool.CreateController([sar_type, lib, cls, self.ctrl_name])
     self.elem_name = get_free_alias(PyTango.Database(), "mot_test")
     axis = 1
     self.pool.CreateElement([sar_type, self.ctrl_name, str(axis),
                              self.elem_name])
     self.elem = PyTango.DeviceProxy(self.elem_name)
     self.elem.DefinePosition(0)
Exemplo n.º 3
0
 def setUp(self):
     """Create dummy motor controller and dummy motor element
     """
     super(ReadMotorPositionOutsideLim, self).setUp()
     sar_type = 'Motor'
     lib = 'DummyMotorController'
     cls = 'DummyMotorController'
     self.ctrl_name = get_free_alias(PyTango.Database(), "readposctrl")
     self.pool.CreateController([sar_type, lib, cls, self.ctrl_name])
     self.elem_name = get_free_alias(PyTango.Database(), "mot_test")
     axis = 1
     self.pool.CreateElement(
         [sar_type, self.ctrl_name,
          str(axis), self.elem_name])
     self.elem = PyTango.DeviceProxy(self.elem_name)
     self.elem.DefinePosition(0)
Exemplo n.º 4
0
 def setUp(self):
     """Create dummy motor controller and dummy motor element
     """
     super(ReadMotorPositionOutsideLim, self).setUp()
     cls = "DummyMotorController"
     self.ctrl_name = get_free_alias(PyTango.Database(), "readposctrl")
     props = ()
     ctrl = self.pool.createController(cls, self.ctrl_name, *props)
     # Add extra timeout of 3 seconds.
     if ctrl is None:
         elements_info = self.pool.getElementsInfo()
         ctrl = self.pool._wait_for_element_in_container(elements_info, self.ctrl_name, timeout=3)
     self.elem_name = get_free_alias(PyTango.Database(), "mot_test")
     elem_axis = 1
     self.elem = self.pool.createElement(self.elem_name, ctrl, elem_axis)
     self.elem.DefinePosition(0)
Exemplo n.º 5
0
 class BuiltinElementCreationTest(ElementCreationTestCase,
                                  unittest.TestCase):
     alias = get_free_alias(PyTango.Database(), "mot_test")
     controller_infos = [('DummyMotorController',
                          'unittest',
                          (),
                          [(alias, 1)])
                         ]
Exemplo n.º 6
0
 def setUp(self):
     """Create dummy motor controller and dummy motor element
     """
     super(ReadMotorPositionOutsideLim, self).setUp()
     cls = 'DummyMotorController'
     self.ctrl_name = get_free_alias(PyTango.Database(), "readposctrl")
     props = ()
     ctrl = self.pool.createController(cls, self.ctrl_name, *props)
     #Add extra timeout of 3 seconds.
     if ctrl is None:
         elements_info = self.pool.getElementsInfo()
         ctrl = self.pool._wait_for_element_in_container(elements_info,
                                                         self.ctrl_name,
                                                         timeout=3)
     self.elem_name = get_free_alias(PyTango.Database(), "mot_test")
     elem_axis = 1
     self.elem = self.pool.createElement(self.elem_name, ctrl, elem_axis)
     self.elem.DefinePosition(0)
Exemplo n.º 7
0
    def check_elems_presistence(self, info):
        """Helper method to test the elements persistence. The actions are:
            - creation of controller and element
            - restart Pool
            - check if element persist

        :param info: information about controller (type, library, class)
        :type info: tuple<str>
        """
        # Create controller
        self.do_element_cleanup = False
        sar_type, lib, cls = info
        base_name = "ctrl_persistent_" + cls
        self.ctrl_name = get_free_alias(PyTango.Database(), base_name)
        self.pool.CreateController([sar_type, lib, cls, self.ctrl_name])

        # Create element
        base_name = "elem_persistent_" + cls
        self.elem_name = get_free_alias(PyTango.Database(), base_name)
        axis = 1
        self.pool.CreateElement(
            [sar_type, self.ctrl_name,
             str(axis), self.elem_name])
        # Restart Pool
        self._starter.stopDs(hard_kill=True)
        self._starter.startDs()
        # Check if the element exists
        try:
            obj = PyTango.DeviceProxy(self.elem_name)
            # the element is persistent, cleanup is necessary
            self.do_element_cleanup = True
        except:
            obj = None
        msg = 'The element "%s" does not exist after restarting the Pool' %\
            (self.elem_name)
        self.assertIsNotNone(obj, msg)