+1 from me.

Best,
Regards

Daisy (Ô˹úÁ«)
VSM Team, China Systems & Technology Labs (CSTL)
E-mail: yunguol@cn.ibm.com
TEL: (86)-21-60922403
Building 10, 399 Ke Yuan Rd, Pudong Shanghai, 201203


libvirt-cim-bounces@redhat.com wrote on 2008-12-10 06:03:20:

> # HG changeset patch
> # User Kaitlin Rupert <karupert@us.ibm.com>
> # Date 1228859898 28800
> # Node ID 84313e6c8f504da2416bd3bdcc7195e3c51a5a6d
> # Parent  f72029b3c3e50bbadeabb9023ae8dd2175f7e89b
> [TEST] Remove XFAIL from EC 01 and 02.
>
> Fixed 01:
> Update to work with CRS.
>
> Also update the logic so that items aren't removed from the managed_ele list
> when a match is properly found.  It's possible for multiple profilesto return
> the same managed element, so removing the elements from this list would cause
> a false failure.
>
> Instead, maintain a found list.  If a managed element isn't in the found list,
> return an error.
>
> Fixed 02:
> Fixed to work with SBLIM host instance as well as libvirt-cim host instance.
>
> Signed-off-by: Kaitlin Rupert <karupert@us.ibm.com>
>
> diff -r f72029b3c3e5 -r 84313e6c8f50 suites/libvirt-
> cim/cimtest/ElementConforms/01_forward.py
> --- a/suites/libvirt-cim/cimtest/ElementConforms/01_forward.py   Mon
> Dec 08 14:21:00 2008 -0800
> +++ b/suites/libvirt-cim/cimtest/ElementConforms/01_forward.py   Tue
> Dec 09 13:58:18 2008 -0800
> @@ -46,15 +46,16 @@
>  from XenKvmLib.common_util import print_field_error, get_host_info
>  from CimTest.Globals import logger, CIM_ERROR_ENUMERATE
>  from XenKvmLib.const import do_main, get_provider_version
> -from CimTest.ReturnCodes import PASS, FAIL, XFAIL, XFAIL_RC
> +from CimTest.ReturnCodes import PASS, FAIL
>  from XenKvmLib.enumclass import EnumInstances
>  
>  sup_types = ['Xen', 'XenFV', 'KVM', 'LXC']
>  test_dom = "domU"
>  bug_sblim = '00007'
>  libvirt_cim_ectp_changes = 686
> +libvirt_cim_input_graphics_ectp = 773
>  
> -def  init_vs_pool_values(server, virt):
> +def  init_managed_ele_values(server, virt):
>      verify_ectp_list = {}
>  
>      cn_names = ["ComputerSystem"]
> @@ -64,6 +65,8 @@
>          cn_names2 = ["VirtualSystemMigrationService", "DiskPool",
> "NetworkPool",
>                       "ProcessorPool", "MemoryPool"]
>          cn_names.extend(cn_names2)
> +    if curr_cim_rev >= libvirt_cim_input_graphics_ectp:
> +        cn_names.append("ConsoleRedirectionService")
>  
>      status, host_inst = get_host_info(server, virt)
>      if status != PASS:
> @@ -91,15 +94,14 @@
>  
>          for ele in elements:
>              if assoc_val.items() == ele.items():
> -                managed_ele_values[cn].remove(ele)
> -                return PASS, managed_ele_values
> +                return PASS
>  
>      except Exception, details:
>          logger.error("verify_fields() exception: %s", details)
> -        return FAIL, managed_ele_values
> +        return FAIL
>        
>      logger.error("%s not in expected list %s", assoc_val, elements)
> -    return FAIL, managed_ele_values
> +    return FAIL
>  
>  def get_proflist(server, reg_classname, virt):
>      profiles_instid_list = []
> @@ -162,7 +164,7 @@
>      verify_ectp_list = {}
>  
>      try:
> -        status, verify_ectp_list = init_vs_pool_values(server, virt)
> +        status, verify_ectp_list = init_managed_ele_values(server, virt)
>          if status != PASS:
>              raise Exception("Failed to get instances needed for
> verification")
>  
> @@ -175,6 +177,7 @@
>          if status != PASS:
>              raise Exception("Failed to get profile list")
>  
> +        found = []
>          for prof_id in prof_inst_lst:
>              logger.info("Verifying '%s' with '%s'", an, prof_id)
>              assoc_info = assoc.Associators(server,
> @@ -187,15 +190,15 @@
>                                  (an, len(assoc_info), reg_classname))
>  
>              for inst in assoc_info:
> -                status, verify_ectp_list = verify_fields(inst,
> verify_ectp_list)
> +                status = verify_fields(inst, verify_ectp_list)
>                  if status != PASS:
>                      raise Exception("Failed to verify instance")
> +                found.append(inst.classname)
>  
> -        if status == PASS:
> -            for k, l in verify_ectp_list.iteritems():
> -                if len(l) != 0:
> -                    status = FAIL
> -                    raise Exception("%s items weren't returned: %s"% (k, l))
> +        for key, list in verify_ectp_list.iteritems():
> +            if key not in found:
> +                status = FAIL
> +                raise Exception("%s items weren't returned: %s" %
> (key, list))
>  
>      except Exception, detail:
>          logger.error("Exception: %s" % detail)
> @@ -205,9 +208,6 @@
>      cxml.destroy(server)
>      cxml.undefine(server)
>  
> -    if "Linux_ComputerSystem" in verify_ectp_list:
> -        return XFAIL_RC(bug_sblim)
> -    
>      return status
>  
>  if __name__ == "__main__":
> diff -r f72029b3c3e5 -r 84313e6c8f50 suites/libvirt-
> cim/cimtest/ElementConforms/02_reverse.py
> --- a/suites/libvirt-cim/cimtest/ElementConforms/02_reverse.py   Mon
> Dec 08 14:21:00 2008 -0800
> +++ b/suites/libvirt-cim/cimtest/ElementConforms/02_reverse.py   Tue
> Dec 09 13:58:18 2008 -0800
> @@ -49,7 +49,7 @@
>  from XenKvmLib import enumclass
>  from XenKvmLib.vxml import XenXML, KVMXML, get_class
>  from XenKvmLib.classes import get_typed_class
> -from CimTest.ReturnCodes import PASS, FAIL, XFAIL_RC
> +from CimTest.ReturnCodes import PASS, FAIL
>  from XenKvmLib.common_util import libvirt_cached_data_poll,
> get_cs_instance, \
>                                    get_host_info
>  
> @@ -58,14 +58,14 @@
>  test_dom  ="domgst"
>  bug_sblim ='00007'
>  
> -def build_exp_prof_list(proflist, virt="Xen"):
> +def build_exp_prof_list(proflist, virt, host_inst):
>      list = {}
>      
>      for item in proflist:
>          if item.InstanceID.find('-VirtualSystem-') >= 0:
>              list[get_typed_class(virt, 'ComputerSystem')] = item
>          elif item.InstanceID.find('-SystemVirtualization-') >= 0:
> -            list[get_typed_class(virt, 'HostSystem')] = item
> +            list[host_inst.CreationClassName] = item
>  
>      return list
>  
> @@ -115,7 +115,6 @@
>              cxml.undefine(server)
>              return status
>  
> -
>      except Exception, details:
>          logger.error("DEBUG Exception: %s" % details)
>          cxml.undefine(server)
> @@ -137,7 +136,7 @@
>  
>      Globals.CIM_NS = prev_namespace
>  
> -    exp_list = build_exp_prof_list(proflist, virt)
> +    exp_list = build_exp_prof_list(proflist, virt, host_inst)
>  
>      # Loop through the assoc results returned on test_dom and hostsystem
>      try:
> @@ -149,7 +148,7 @@
>                                        cn,
>                                        CreationClassName=cn,
>                                        Name=name)
> -            if len(profs) != 1:
> +            if len(profs) < 1:
>                  if cn == 'Linux_ComputerSystem':
>                      status = XFAIL_RC(bug_sblim)
>                  else:  
>
> _______________________________________________
> Libvirt-cim mailing list
> Libvirt-cim@redhat.com
> https://www.redhat.com/mailman/listinfo/libvirt-cim