Ejemplo n.º 1
0
    def __init__(self, orb, server_name=None, naming=None):
        self.orb = orb
        self.name = server_name
        if naming:
            self.naming = naming
        else:
            self.naming = CorbaNaming(self.orb, server_name)

        self.b_len = 10  # iteration cut off no.
        self.rtc_handles = {}
        self.obj_list = {}
Ejemplo n.º 2
0
    def setUp(self):
        self.orb = OpenRTM_aist.Manager.instance().getORB()
        self.naming = CorbaNaming(self.orb, "localhost:2809")
        #self.naming.clearAll()
        self.name_list = []
        self.name_list.append(CosNaming.NameComponent("Mon", "mon_cxt"))
        self.name_list.append(CosNaming.NameComponent("Tus", "tus_cxt"))
        self.name_list.append(CosNaming.NameComponent("Wed", "wed_cxt"))
        self.name_list.append(CosNaming.NameComponent("Thu", "thu_cxt"))
        self.name_list.append(CosNaming.NameComponent("Fri", "fri_cxt"))
        self.name_list.append(CosNaming.NameComponent("Sat", "sat_cxt"))
        self.name_list.append(CosNaming.NameComponent("Sun", "sun_cxt"))

        return
Ejemplo n.º 3
0
 def __init__(self, orb=None, server_name='localhost'):
   if orb is None:
     self.orb = CORBA.ORB_init(sys.argv)
   else:
     self.orb=orb
   self.name=server_name
   self.naming=CorbaNaming(self.orb, self.name)
   self.maxlen=20
   self.object_list={}
   self.current_ctx=""
    def __init__(self, orb, server_name=None, naming=None):
        self.orb = orb
        self.name = server_name
        if naming:
            self.naming = naming
        else:
            self.naming = CorbaNaming(self.orb, server_name)

        self.b_len = 10  # iteration cut off no.
        self.rtc_handles = {}
        self.obj_list = {}
 def setUp(self):
   self.orb = OpenRTM_aist.Manager.instance().getORB()
   self.naming = CorbaNaming(self.orb, "localhost:2809")
   #self.naming.clearAll()
   self.name_list = []
   self.name_list.append(CosNaming.NameComponent("Mon","mon_cxt"))
   self.name_list.append(CosNaming.NameComponent("Tus","tus_cxt"))
   self.name_list.append(CosNaming.NameComponent("Wed","wed_cxt"))
   self.name_list.append(CosNaming.NameComponent("Thu","thu_cxt"))
   self.name_list.append(CosNaming.NameComponent("Fri","fri_cxt"))
   self.name_list.append(CosNaming.NameComponent("Sat","sat_cxt"))
   self.name_list.append(CosNaming.NameComponent("Sun","sun_cxt"))
     
   return
Ejemplo n.º 6
0
	def setUp(self):
		self.orb = CORBA.ORB_init()
		self.naming = CorbaNaming(self.orb, "localhost:2809")
		#self.naming.clearAll()
		self.name_list = []
		self.name_list.append(CosNaming.NameComponent("Mon","mon_cxt"))
		self.name_list.append(CosNaming.NameComponent("Tus","tus_cxt"))
		self.name_list.append(CosNaming.NameComponent("Wed","wed_cxt"))
		self.name_list.append(CosNaming.NameComponent("Thu","thu_cxt"))
		self.name_list.append(CosNaming.NameComponent("Fri","fri_cxt"))
		self.name_list.append(CosNaming.NameComponent("Sat","sat_cxt"))
		self.name_list.append(CosNaming.NameComponent("Sun","sun_cxt"))
			
		return
Ejemplo n.º 7
0
class NameSpace :
    def __init__(self, orb, server_name=None, naming=None):

        self.orb = orb
        self.name = server_name

        if naming :
          self.naming = naming
        else :
          self.naming = CorbaNaming(self.orb, server_name) 

        self.b_len = 10 # iteration cut off no.
        self.rtc_handles = {}
        self.obj_list = {}

    def get_object_by_name(self, name, cl=RTC.RTObject):
        ref = self.naming.resolveStr(name)
        if ref is None: return None     # return CORBA.nil ?
        if cl :
            return ref._narrow(cl)
        else :
            return ref

    def list_obj(self) :
        self.rtc_handles = {}
        self.obj_list = {}
        return self.list_obj1(self.naming._rootContext, "")

    def list_obj1(self, name_context, parent) :
        if not name_context :
            name_context = self.naming._rootContext 
        rslt = []
        b_list = name_context.list(self.b_len)
        for bd in b_list[0] :
            rslt = rslt + self.proc_bd(bd, name_context, parent)
        if b_list[1] :  # iterator : there exists remaining.
            t_list = b_list[1].next_n(self.b_len)
            while t_list[0] :
                for bd in t_list[1] :
                    rslt = rslt + self.proc_bd(bd, name_context, parent)
                t_list = b_list[1].next_n(self.b_len)
        return rslt

    def proc_bd(self, bd, name_context, parent) :
#        print '-------------------------------------------------------------------'
#        print 'bd= ', bd
#        print 'name_context= ', name_context
#        print 'parent= ', parent
        rslt = []
        pre = ""
        if parent :
            pre = parent + "/"
        nam = pre + URI.nameToString(bd.binding_name)
        if bd.binding_type == CosNaming.nobject :
            tmp = name_context.resolve(bd.binding_name)
            self.obj_list[nam]=tmp
            print 'objcet '+nam+' was listed.'
            try :
                tmp = tmp._narrow(RTC.RTObject)
            except :
                print nam+' is not RTC.'
                tmp = None
            try :
                if tmp :
                   rslt = [[nam, tmp]]
                   self.rtc_handles[nam]=RtcHandle(nam,self,tmp)
                   print 'handle for '+nam+' was created.'
                else :
                   pass
            except :
                print nam+' is not alive.' , sys.exc_info()[0]
                pass
        else :
            tmp = name_context.resolve(bd.binding_name)
            tmp = tmp._narrow(CosNaming.NamingContext)
            rslt = self.list_obj1(tmp, nam)
        return rslt
Ejemplo n.º 8
0
class NameSpace:
    def __init__(self, orb, server_name=None, naming=None):

        self.orb = orb
        self.name = server_name

        if naming:
            self.naming = naming
        else:
            self.naming = CorbaNaming(self.orb, server_name)

        self.b_len = 10  # iteration cut off no.
        self.rtc_handles = {}
        self.obj_list = {}

    def get_object_by_name(self, name, cl=RTC.RTObject):
        ref = self.naming.resolveStr(name)
        if ref is None: return None  # return CORBA.nil ?
        if cl:
            return ref._narrow(cl)
        else:
            return ref

    def list_obj(self):
        self.rtc_handles = {}
        self.obj_list = {}
        return self.list_obj1(self.naming._rootContext, "")

    def list_obj1(self, name_context, parent):
        if not name_context:
            name_context = self.naming._rootContext
        rslt = []
        b_list = name_context.list(self.b_len)
        for bd in b_list[0]:
            rslt = rslt + self.proc_bd(bd, name_context, parent)
        if b_list[1]:  # iterator : there exists remaining.
            t_list = b_list[1].next_n(self.b_len)
            while t_list[0]:
                for bd in t_list[1]:
                    rslt = rslt + self.proc_bd(bd, name_context, parent)
                t_list = b_list[1].next_n(self.b_len)
        return rslt

    def proc_bd(self, bd, name_context, parent):
        #        print '-------------------------------------------------------------------'
        #        print 'bd= ', bd
        #        print 'name_context= ', name_context
        #        print 'parent= ', parent
        rslt = []
        pre = ""
        if parent:
            pre = parent + "/"
        nam = pre + URI.nameToString(bd.binding_name)
        if bd.binding_type == CosNaming.nobject:
            tmp = name_context.resolve(bd.binding_name)
            self.obj_list[nam] = tmp
            print('objcet ' + nam + ' was listed.')
            try:
                tmp = tmp._narrow(RTC.RTObject)
            except:
                print(nam + ' is not RTC.')
                tmp = None
            try:
                if tmp:
                    rslt = [[nam, tmp]]
                    self.rtc_handles[nam] = RtcHandle(nam, self, tmp)
                    print('handle for ' + nam + ' was created.')
                else:
                    pass
            except:
                print(nam + ' is not alive.', sys.exc_info()[0])
                pass
        else:
            tmp = name_context.resolve(bd.binding_name)
            tmp = tmp._narrow(CosNaming.NamingContext)
            rslt = self.list_obj1(tmp, nam)
        return rslt
Ejemplo n.º 9
0
#
# $Id: CreateDeleteRTCTest.py 1541 2009-08-31 07:21:12Z hakuta $
#

from rtc_handle import *
from BasicDataType_idl import *
from CorbaNaming import *
import time
import commands
import socket
import RTM

env = RtmEnv(sys.argv, ["localhost:9898"])

mgr_name=socket.gethostname()+".host_cxt/manager.mgr"
naming = CorbaNaming(env.orb,"localhost:9898")
manager = naming.resolve(mgr_name)._narrow(RTM.Manager)

time.sleep(2)

def mem_rss():
    (stat, output) = commands.getstatusoutput("ps alxww | grep \"[r]\"tcd")
    return output.split()[7]

## file and console out
def print_file_and_cons(out_data, out_flag=0):
    ## out_flag:1 is file out only
    if out_flag == 1:
      fout.write(out_data + '\n')
      fout.flush()
    ## out_flag:2 is console out only
Ejemplo n.º 10
0
class TestCorbaNaming(unittest.TestCase):
    def setUp(self):
        self.orb = OpenRTM_aist.Manager.instance().getORB()
        self.naming = CorbaNaming(self.orb, "localhost:2809")
        #self.naming.clearAll()
        self.name_list = []
        self.name_list.append(CosNaming.NameComponent("Mon", "mon_cxt"))
        self.name_list.append(CosNaming.NameComponent("Tus", "tus_cxt"))
        self.name_list.append(CosNaming.NameComponent("Wed", "wed_cxt"))
        self.name_list.append(CosNaming.NameComponent("Thu", "thu_cxt"))
        self.name_list.append(CosNaming.NameComponent("Fri", "fri_cxt"))
        self.name_list.append(CosNaming.NameComponent("Sat", "sat_cxt"))
        self.name_list.append(CosNaming.NameComponent("Sun", "sun_cxt"))

        return

    def tearDown(self):
        OpenRTM_aist.Manager.instance().shutdownManager()
        del self
        return

    def test_init(self):
        try:
            self.naming.init("localhost")
        except:
            print "Exeption at naming init."

    def test_bind(self):
        self.naming.clearAll()
        self.bind_test_sequence(self.name_list)

    def bind_test_sequence(self, sname):
        obj = self.naming.newContext()
        self.naming.bind(sname, obj)

        # resolve test
        new_obj = self.naming.resolve(sname)
        self.assertEqual(obj._is_equivalent(new_obj), True, "Resolve failed.")
        return True

    def test_bindByString(self):
        name = "localhost.host_cxt\/Manager123456.mgr_cxt/MobileRobot.cat_cxt/Kani0.rtc"

        lname = []
        lname.append(
            CosNaming.NameComponent("localhost.host_cxt\/Manager123456",
                                    "mgr_cxt"))
        lname.append(CosNaming.NameComponent("MobileRobot", "cat_cxt"))
        lname.append(CosNaming.NameComponent("Kani0", "rtc"))

        obj = self.naming.newContext()
        self.naming.bindByString(name, obj)
        new_obj = self.naming.resolve(name)
        self.assertEqual(obj._is_equivalent(new_obj), True, "Resolve failed.")
        new_obj = self.naming.resolve(lname)
        self.assertEqual(obj._is_equivalent(new_obj), True, "Resolve failed.")

    #def test_bindRecursive(self):
    # pass

    def test_rebind(self):
        obj = self.naming.newContext()

        self.naming.bind(self.name_list, obj)
        new_obj = self.naming.resolve(self.name_list)
        self.assertEqual(obj._is_equivalent(new_obj), True, "Resolve failed.")

        self.naming.rebind(self.name_list, obj)
        new_obj = self.naming.resolve(self.name_list)
        self.assertEqual(obj._is_equivalent(new_obj), True, "Resolve failed.")

    #def test_rebindByString(self):
    # pass

    def test_rebindRecursive(self):
        obj = self.naming.newContext()

        self.naming.bind(self.name_list, obj)
        new_obj = self.naming.resolve(self.name_list)
        self.assertEqual(obj._is_equivalent(new_obj), True, "Resolve failed.")

        self.naming.rebindRecursive(self.naming.getRootContext(),
                                    self.name_list, obj)
        new_obj = self.naming.resolve(self.name_list)
        self.assertEqual(obj._is_equivalent(new_obj), True, "Resolve failed.")

    def test_bindContext(self):
        obj = self.naming.newContext()
        name = []
        name.append(CosNaming.NameComponent("bindcxt", "bindcxt_cxt"))

        self.naming.bindContext("bindcxt.bindcxt_cxt", obj)
        new_obj = self.naming.resolve(name)
        self.assertEqual(obj._is_equivalent(new_obj), True, "Resolve failed.")

    def test_unbind(self):
        obj = self.naming.newContext()

        self.naming.bind(self.name_list, obj)
        self.naming.unbind(self.name_list)

    def test_bindNewContext(self):
        name = []
        name.append(CosNaming.NameComponent("newContext", "new_cxt"))

        self.naming.bindNewContext(name)
        new_obj = self.naming.resolve(name)

    def test_destroy(self):
        obj = self.naming.newContext()
        name = []
        name.append(CosNaming.NameComponent("destroy", "destroy_cxt"))

        self.naming.bind(name, obj)
        self.naming.destroy(obj)

    def test_destroyRecursive(self):
        obj = self.naming.newContext()
        name = []
        name.append(CosNaming.NameComponent("desRec0", "desRec0_cxt"))
        name.append(CosNaming.NameComponent("desRec1", "desRec1_cxt"))
        name.append(CosNaming.NameComponent("desRec2", "desRec2_cxt"))

        self.naming.bind(name, obj)
        self.naming.destroyRecursive(obj)

    def test_list(self):
        bl = []
        bi = []
        self.naming.list(self.naming.getRootContext(), 100, bl, bi)
        print bl[0][0].binding_name[0].id

    def test_toString(self):
        name = []
        name.append(CosNaming.NameComponent("desRec0", "desRec0_cxt"))
        name.append(CosNaming.NameComponent("desRec1", "desRec1_cxt"))
        name.append(CosNaming.NameComponent("desRec2", "desRec2_cxt"))

        string_name = self.naming.toString(name)
        self.assertEqual(
            str("desRec0.desRec0_cxt/desRec1.desRec1_cxt/desRec2.desRec2_cxt/"
                ), str(string_name))
        print ".", string_name, "."
Ejemplo n.º 11
0
class Rtc_Sh:
  def __init__(self, orb=None, server_name='localhost'):
    if orb is None:
      self.orb = CORBA.ORB_init(sys.argv)
    else:
      self.orb=orb
    self.name=server_name
    self.naming=CorbaNaming(self.orb, self.name)
    self.maxlen=20
    self.object_list={}
    self.current_ctx=""
    #self.getRTObjectList()

  def resolveRTObject(self, name):
    try:
      if name.count(".rtc") == 0 : name = name+".rtc"
      ref=self.naming.resolveStr(name)
      ref._non_existent()
      return ref._narrow(RTObject)
    except:
      #traceback.print_exc()
      return None

  def unbind(self, name):
    self.naming.unbind(name)
    print("Unbind :", name)
    return

  def clearObjectList(self):
    self.object_list={}

  def getRTObjectList(self, name_context=None, parent=""):
    res=[]
    if name_context is None:
      name_context = self.naming._rootContext
    binds, bind_i = name_context.list(self.maxlen)
    for bind in binds:
      res = res + self.resolveBindings(bind, name_context, parent)

    if bind_i :
      tl = bind_i.next_n(self.maxlen)
      while tl[0]:
        for bind in tl[1] :
           res = res + self.resolveBindings(bind, name_conext, parent)
        tl = bind_i.next_n(self.maxlen)
    return res

  def resolveBindings(self, bind, name_context, parent):
    res = []
    prefix=parent

    if parent :
      prefix += "/"

    name = prefix + URI.nameToString(bind.binding_name)
    if bind.binding_type == CosNaming.nobject:
      if bind.binding_name[0].kind == "rtc":
        obj = name_context.resolve(bind.binding_name)
        try:
          obj._non_existent()
          obj = obj._narrow(RTObject)
          res = [[name, obj]]
          self.object_list[name] = obj
        except:
          obj = None
          res = [[name, obj]]
      else:
        pass
        #self.object_list[name] = None
    else:
      ctx = name_context.resolve(bind.binding_name)
      ctx = ctx._narrow(CosNaming.NamingContext)
      parent = name
      res = self.getRTObjectList( ctx, parent)
    return res

  def refreshObjectList(self):
    self.object_list = {}
    return self.getRTObjectList()

  def getPorts(self, name):
    res=[]
    if name.count(".rtc") == 0 : name = name+".rtc"
    if not (name in self.object_list):
      self.refreshObjectList()

    if name in self.object_list:
      port_ref = self.object_list[name].get_ports()
      for p in port_ref:
        pp = p.get_port_profile()
        pprof =  nvlist2dict(pp.properties)
        if pp.interfaces:
          ifp=pp.interfaces[0]
          pprof['interface_name'] = ifp.instance_name
          pprof['interface_type_name'] = ifp.type_name
          pprof['interface_polarity'] = ifp.polarity
        res.append( (pp.name, pprof))
    else:
      print("No such RTC:", name)
    return res

  def getPortRef(self, name, port):
    res=[]
    if name in self.object_list:
      self.refreshObjectList()

    if name.count(".rtc") == 0 : name = name+".rtc"

    if name in self.object_list:
      port_ref = self.object_list[name].get_ports()
      for p in port_ref:
        pp = p.get_port_profile()
        if port == pp.name.split('.')[-1]:
          return p
    else:
      print("No such port:", name, ":", port)
    return None

  def getConnectors(self, name, port):
    port_ref=self.getPortRef(name, port)
    if port_ref:
      cons = port_ref.get_connector_profiles()
      return cons
    return None
 
  def getConnectionInfo(self, con):
    ports = [(con.ports[0].get_port_profile()).name, (con.ports[1].get_port_profile()).name]
    res={'name': con.name, 'ports': ports, 'id': con.connector_id }
    return res

  def getConnections(self, name, port):
    res = []
    cons = self.getConnectors(name, port)
    if cons:
      for c in cons:
        res.append(self.getConnectionInfo(c))
    return res

  def find_connection(self, portname1, portname2):
    try:
      name1, port1 = portname1.split(":")
      name2, port2 = portname2.split(":")

      p1=self.getPortRef(name1, port1)
      p2=self.getPortRef(name2, port2)

      cons  = self.getConnectors(name1, port1)
      cons2 = self.getConnectors(name2, port2)
      if cons and  cons2 :
        for c in cons:
          for c2 in cons2:
            if c.connector_id == c2.connector_id:
              return c
      return False
    except:
      traceback.print_exc()
      return None

  def connect(self, portname1, portname2, service=False):
    if service:
      con_prof = {'port.port_type':'CorbaPort' }
    else:
      con_prof={'dataport.dataflow_type':'push',
              'dataport.interface_type':'corba_cdr' ,
              'dataport.subscription_type':'flush'}

    chk = self.find_connection(portname1, portname2)
    if chk is None:
        return None
    if chk :
       print("Conntction exists:", chk.connector_id)
       return 
    try:
      name1, port1 = portname1.split(":")
      name2, port2 = portname2.split(":")
      p1=self.getPortRef(name1, port1)
      p2=self.getPortRef(name2, port2)
      if p1 and p2:
        name=string.join([name1, port1, name2, port2], '_')
        prof_req=ConnectorProfile(name, "", [p1, p2], dict2nvlist(con_prof)) 
        res, prof=p1.connect(prof_req)
      else:
        res="Error in connect"
    except:
      res="Error"
    print(res)
    return

  def disconnect(self, portname1, portname2):
    try:
      con=self.find_connection(portname1, portname2)
      if con is None or not con:
        print("No such connrction:", portname1, portname2)
       
      con.ports[0].disconnect(con.connector_id)
      print("Sucess to disconnect:", portname1, portname2)
    except:
      print("Fail to disconnect:", portname1, portname2)

  def getEC(self, name):
    obj=self.resolveRTObject(name)
    if obj :
      ec=obj.get_owned_contexts()[0]
      return ec
    else:
      return None
      
  def activate(self, name):
    res=None
    obj=self.resolveRTObject(name)
    if obj :
      ec=obj.get_owned_contexts()[0]
      res=ec.activate_component(obj)
    return res
      
  def deactivate(self, name):
    res=None
    obj=self.resolveRTObject(name)
    if obj :
      ec=obj.get_owned_contexts()[0]
      res=ec.deactivate_component(obj)
    return res

  def get_component_state(self, name):
    stat=None
    obj=self.resolveRTObject(name)
    if obj:
      ec=obj.get_owned_contexts()[0]
      stat=ec.get_component_state(obj)
    return stat

  def terminate(self, name):
    obj=self.resolveRTObject(name)
    if obj:
      obj.exit()
    return None
class TestCorbaNaming(unittest.TestCase):

  def setUp(self):
    self.orb = OpenRTM_aist.Manager.instance().getORB()
    self.naming = CorbaNaming(self.orb, "localhost:2809")
    #self.naming.clearAll()
    self.name_list = []
    self.name_list.append(CosNaming.NameComponent("Mon","mon_cxt"))
    self.name_list.append(CosNaming.NameComponent("Tus","tus_cxt"))
    self.name_list.append(CosNaming.NameComponent("Wed","wed_cxt"))
    self.name_list.append(CosNaming.NameComponent("Thu","thu_cxt"))
    self.name_list.append(CosNaming.NameComponent("Fri","fri_cxt"))
    self.name_list.append(CosNaming.NameComponent("Sat","sat_cxt"))
    self.name_list.append(CosNaming.NameComponent("Sun","sun_cxt"))
      
    return
  

  def tearDown(self):
    OpenRTM_aist.Manager.instance().shutdownManager()
    del self
    return

  def test_init(self):
    try:
      self.naming.init("localhost")
    except:
      print "Exeption at naming init."


  def test_bind(self):
    self.naming.clearAll()
    self.bind_test_sequence(self.name_list)
    

  def bind_test_sequence(self, sname):
    obj = self.naming.newContext()
    self.naming.bind(sname, obj)

    # resolve test
    new_obj = self.naming.resolve(sname)
    self.assertEqual(obj._is_equivalent(new_obj), True,"Resolve failed.")
    return True


  def test_bindByString(self):
    name = "localhost.host_cxt\/Manager123456.mgr_cxt/MobileRobot.cat_cxt/Kani0.rtc"

    lname = []
    lname.append(CosNaming.NameComponent("localhost.host_cxt\/Manager123456","mgr_cxt"))
    lname.append(CosNaming.NameComponent("MobileRobot","cat_cxt"))
    lname.append(CosNaming.NameComponent("Kani0","rtc"))

    obj = self.naming.newContext()
    self.naming.bindByString(name, obj)
    new_obj = self.naming.resolve(name)
    self.assertEqual(obj._is_equivalent(new_obj), True,"Resolve failed.")
    new_obj = self.naming.resolve(lname)
    self.assertEqual(obj._is_equivalent(new_obj), True,"Resolve failed.")


  #def test_bindRecursive(self):
  # pass

  def test_rebind(self):
    obj = self.naming.newContext()

    self.naming.bind(self.name_list, obj)
    new_obj = self.naming.resolve(self.name_list)
    self.assertEqual(obj._is_equivalent(new_obj), True,"Resolve failed.")

    self.naming.rebind(self.name_list, obj)
    new_obj = self.naming.resolve(self.name_list)
    self.assertEqual(obj._is_equivalent(new_obj), True,"Resolve failed.")
    

  #def test_rebindByString(self):
  # pass
    

  def test_rebindRecursive(self):
    obj = self.naming.newContext()

    self.naming.bind(self.name_list, obj)
    new_obj = self.naming.resolve(self.name_list)
    self.assertEqual(obj._is_equivalent(new_obj), True,"Resolve failed.")

    self.naming.rebindRecursive(self.naming.getRootContext(), self.name_list, obj)
    new_obj = self.naming.resolve(self.name_list)
    self.assertEqual(obj._is_equivalent(new_obj), True,"Resolve failed.")


  def test_bindContext(self):
    obj = self.naming.newContext()
    name = []
    name.append(CosNaming.NameComponent("bindcxt","bindcxt_cxt"))

    self.naming.bindContext("bindcxt.bindcxt_cxt", obj)
    new_obj = self.naming.resolve(name)
    self.assertEqual(obj._is_equivalent(new_obj), True,"Resolve failed.")


  def test_unbind(self):
    obj = self.naming.newContext()

    self.naming.bind(self.name_list, obj)
    self.naming.unbind(self.name_list)
  

  def test_bindNewContext(self):
    name = []
    name.append(CosNaming.NameComponent("newContext","new_cxt"))

    self.naming.bindNewContext(name)
    new_obj = self.naming.resolve(name)


  def test_destroy(self):
    obj = self.naming.newContext()
    name = []
    name.append(CosNaming.NameComponent("destroy","destroy_cxt"))

    self.naming.bind(name, obj)
    self.naming.destroy(obj)


  def test_destroyRecursive(self):
    obj = self.naming.newContext()
    name = []
    name.append(CosNaming.NameComponent("desRec0","desRec0_cxt"))
    name.append(CosNaming.NameComponent("desRec1","desRec1_cxt"))
    name.append(CosNaming.NameComponent("desRec2","desRec2_cxt"))

    self.naming.bind(name, obj)
    self.naming.destroyRecursive(obj)

  def test_list(self):
    bl = []
    bi = []
    self.naming.list(self.naming.getRootContext(), 100, bl, bi)
    print bl[0][0].binding_name[0].id
  

  def test_toString(self):
    name = []
    name.append(CosNaming.NameComponent("desRec0","desRec0_cxt"))
    name.append(CosNaming.NameComponent("desRec1","desRec1_cxt"))
    name.append(CosNaming.NameComponent("desRec2","desRec2_cxt"))

    string_name = self.naming.toString(name)
    self.assertEqual(str("desRec0.desRec0_cxt/desRec1.desRec1_cxt/desRec2.desRec2_cxt/"),str(string_name))
    print ".",string_name,"."