[PATCH] [TEST] Remove XFAIL from EC 01 and 02

# 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 profiles to 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:

# 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
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
+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: list 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
participants (2)
-
Guo Lian Yun
-
Kaitlin Rupert