[PATCH] [TEST] #6 Fix HostedService - 03_forward_errs.py to work with sblim base provider installed

# HG changeset patch # User Guolian Yun <yunguol@cn.ibm.com> # Date 1223372522 25200 # Node ID 7111776695d084f031873ca00c4e9a966ec41b7d # Parent 311bf6eda3786eb8e47ede06c4da6dc1570aff61 [TEST] #6 Fix HostedService - 03_forward_errs.py to work with sblim base provider installed Signed-off-by: Guolian Yun <yunguol@cn.ibm.com> diff -r 311bf6eda378 -r 7111776695d0 suites/libvirt-cim/cimtest/HostedService/03_forward_errs.py --- a/suites/libvirt-cim/cimtest/HostedService/03_forward_errs.py Sun Oct 05 23:56:40 2008 -0700 +++ b/suites/libvirt-cim/cimtest/HostedService/03_forward_errs.py Tue Oct 07 02:42:02 2008 -0700 @@ -25,15 +25,21 @@ from pywbem.cim_obj import CIMInstanceNa from pywbem.cim_obj import CIMInstanceName from XenKvmLib import assoc from XenKvmLib import enumclass +from XenKvmLib.common_util import get_host_info, try_assoc from XenKvmLib.classes import get_typed_class from CimTest.Globals import logger, CIM_ERROR_ENUMERATE, CIM_USER, \ CIM_PASS, CIM_NS from XenKvmLib.const import do_main -from CimTest.ReturnCodes import PASS, FAIL, XFAIL +from CimTest.ReturnCodes import PASS, FAIL, XFAIL_RC +bug = '00007' sup_types = ['Xen', 'XenFV', 'KVM', 'LXC'] -exp_rc = 6 #CIM_ERR_NOT_FOUND -exp_desc = "No such instance" +exp_values = { + "invalid_ccname" : {"rc" : pywbem.CIM_ERR_NOT_FOUND, \ + "desc" : "No such instance (CreationClassName)"}, + "invalid_name" : {"rc" : pywbem.CIM_ERR_NOT_FOUND, \ + "desc" : "No such instance (Name)"} + } @do_main(sup_types) def main(): @@ -41,38 +47,38 @@ def main(): rc = -1 status = FAIL keys = ['Name', 'CreationClassName'] - try: - host_sys = enumclass.enumerate(options.ip, 'HostSystem', keys, options.virt)[0] - except Exception: - logger.error(CIM_ERROR_ENUMERATE % host_sys.name) + status, host_name, host_ccn = get_host_info(options.ip, options.virt) + if status != PASS: + logger.error("Error in calling get_host_info function") return FAIL conn = assoc.myWBEMConnection('http://%s' % options.ip, (CIM_USER, CIM_PASS), CIM_NS) - instanceref = CIMInstanceName(get_typed_class(options.virt, "HostSystem"), - keybindings = {"Wrong" : "wrong", "CreationClassName" : host_sys.CreationClassName}) + assoc_classname = get_typed_class(options.virt, "HostedService") + + keys = {"Wrong" : host_name, "CreationClassName": host_ccn} + ret = try_assoc(conn, host_ccn, assoc_classname, keys, "Name", \ + exp_values['invalid_name'], bug_no="") + if ret != PASS: + if host_ccn == 'Linux_ComputerSystem': + return XFAIL_RC(bug) + else: + logger.error("------ FAILED: Invalid Name Key Name.------") + return FAIL - names = [] + keys = {"Name" : host_name, "Wrong" : host_ccn} + ret = try_assoc(conn, host_ccn, assoc_classname, keys, "CreationClassName", \ + exp_values['invalid_ccname'], bug_no="") + if ret != PASS: + if host_ccn == 'Linux_ComputerSystem': + return XFAIL_RC(bug) + else: + logger.error("------ FAILED: Invalid CreationClassName Key Name.------") + return FAIL - try: - names = conn.AssociatorNames(instanceref, AssocClass = get_typed_class(options.virt, "HostedService")) - rc = 0 - except pywbem.CIMError, (rc, desc): - if rc == exp_rc and desc.find(exp_desc) >= 0: - logger.info("Got excepted rc code and error string") - status = PASS - else: - logger.error("Unexpected rc code %s and description %s\n" %(rc, desc)) - except Exception, details: - logger.error("Unknown exception happened") - logger.error(details) - if rc == 0: - logger.error("HostedService associator should NOT return excepted result with a wrong key name and value of HostSystem input") - status = FAIL - return status if __name__ == "__main__":

+1 for me. but I have some comments though. yunguol@cn.ibm.com wrote:
# HG changeset patch # User Guolian Yun <yunguol@cn.ibm.com> # Date 1223372522 25200 # Node ID 7111776695d084f031873ca00c4e9a966ec41b7d # Parent 311bf6eda3786eb8e47ede06c4da6dc1570aff61 [TEST] #6 Fix HostedService - 03_forward_errs.py to work with sblim base provider installed
Signed-off-by: Guolian Yun <yunguol@cn.ibm.com>
diff -r 311bf6eda378 -r 7111776695d0 suites/libvirt-cim/cimtest/HostedService/03_forward_errs.py --- a/suites/libvirt-cim/cimtest/HostedService/03_forward_errs.py Sun Oct 05 23:56:40 2008 -0700 +++ b/suites/libvirt-cim/cimtest/HostedService/03_forward_errs.py Tue Oct 07 02:42:02 2008 -0700 @@ -25,15 +25,21 @@ from pywbem.cim_obj import CIMInstanceNa from pywbem.cim_obj import CIMInstanceName from XenKvmLib import assoc from XenKvmLib import enumclass +from XenKvmLib.common_util import get_host_info, try_assoc from XenKvmLib.classes import get_typed_class from CimTest.Globals import logger, CIM_ERROR_ENUMERATE, CIM_USER, \ CIM_PASS, CIM_NS from XenKvmLib.const import do_main -from CimTest.ReturnCodes import PASS, FAIL, XFAIL +from CimTest.ReturnCodes import PASS, FAIL, XFAIL_RC
+bug = '00007' sup_types = ['Xen', 'XenFV', 'KVM', 'LXC'] -exp_rc = 6 #CIM_ERR_NOT_FOUND -exp_desc = "No such instance" +exp_values = { + "invalid_ccname" : {"rc" : pywbem.CIM_ERR_NOT_FOUND, \ + "desc" : "No such instance (CreationClassName)"}, + "invalid_name" : {"rc" : pywbem.CIM_ERR_NOT_FOUND, \ + "desc" : "No such instance (Name)"} + }
You dont have to use a slash after the comma, we need to use slash only in case where we want to continue some sentence or string into the next line. This is fine for now and is Just FYI.
@do_main(sup_types) def main(): @@ -41,38 +47,38 @@ def main(): rc = -1 status = FAIL keys = ['Name', 'CreationClassName'] - try: - host_sys = enumclass.enumerate(options.ip, 'HostSystem', keys, options.virt)[0] - except Exception: - logger.error(CIM_ERROR_ENUMERATE % host_sys.name) + status, host_name, host_ccn = get_host_info(options.ip, options.virt) + if status != PASS: + logger.error("Error in calling get_host_info function") return FAIL
conn = assoc.myWBEMConnection('http://%s' % options.ip, (CIM_USER, CIM_PASS), CIM_NS) - instanceref = CIMInstanceName(get_typed_class(options.virt, "HostSystem"), - keybindings = {"Wrong" : "wrong", "CreationClassName" : host_sys.CreationClassName}) + assoc_classname = get_typed_class(options.virt, "HostedService") + + keys = {"Wrong" : host_name, "CreationClassName": host_ccn} + ret = try_assoc(conn, host_ccn, assoc_classname, keys, "Name", \ + exp_values['invalid_name'], bug_no="")
You dont have to use a slash after the comma, we need to use slash only in case where we want to continue some sentence or string into the next line. This is fine for now and is Just FYI.
+ if ret != PASS: + if host_ccn == 'Linux_ComputerSystem': + return XFAIL_RC(bug) + else: + logger.error("------ FAILED: Invalid Name Key Name.------") + return FAIL
- names = [] + keys = {"Name" : host_name, "Wrong" : host_ccn} + ret = try_assoc(conn, host_ccn, assoc_classname, keys, "CreationClassName", \ + exp_values['invalid_ccname'], bug_no="")
You dont have to use a slash after the comma, we need to use slash only in case where we want to continue some sentence or string into the next line. This is fine for now and is Just FYI.
+ if ret != PASS: + if host_ccn == 'Linux_ComputerSystem': + return XFAIL_RC(bug) + else: + logger.error("------ FAILED: Invalid CreationClassName Key Name.------") + return FAIL
- try: - names = conn.AssociatorNames(instanceref, AssocClass = get_typed_class(options.virt, "HostedService")) - rc = 0 - except pywbem.CIMError, (rc, desc): - if rc == exp_rc and desc.find(exp_desc) >= 0: - logger.info("Got excepted rc code and error string") - status = PASS - else: - logger.error("Unexpected rc code %s and description %s\n" %(rc, desc)) - except Exception, details: - logger.error("Unknown exception happened") - logger.error(details)
- if rc == 0: - logger.error("HostedService associator should NOT return excepted result with a wrong key name and value of HostSystem input") - status = FAIL - return status You can return PASS directly, but this is fine for now.
if __name__ == "__main__":
_______________________________________________ Libvirt-cim mailing list Libvirt-cim@redhat.com https://www.redhat.com/mailman/listinfo/libvirt-cim
participants (2)
-
Deepti B Kalakeri
-
yunguol@cn.ibm.com