[Libvirt-cim] [PATCH] [TEST] Fix HostedResourcePool/03_forward_errs.py to work with sblim cmpi base provider installed

yunguol at cn.ibm.com yunguol at cn.ibm.com
Tue Oct 7 06:34:48 UTC 2008


# HG changeset patch
# User Guolian Yun <yunguol at cn.ibm.com>
# Date 1223361281 25200
# Node ID 628b846c366a0c97fa97c18a5a7e2185c265188f
# Parent  311bf6eda3786eb8e47ede06c4da6dc1570aff61
[TEST] Fix HostedResourcePool/03_forward_errs.py to work with sblim cmpi base provider installed

Signed-off-by: Guolian Yun <yunguol at cn.ibm.com>

diff -r 311bf6eda378 -r 628b846c366a suites/libvirt-cim/cimtest/HostedResourcePool/03_forward_errs.py
--- a/suites/libvirt-cim/cimtest/HostedResourcePool/03_forward_errs.py	Sun Oct 05 23:56:40 2008 -0700
+++ b/suites/libvirt-cim/cimtest/HostedResourcePool/03_forward_errs.py	Mon Oct 06 23:34:41 2008 -0700
@@ -25,16 +25,21 @@ import pywbem
 import pywbem
 from XenKvmLib import assoc
 from XenKvmLib import enumclass
+from XenKvmLib.common_util import get_host_info
 from XenKvmLib.common_util import try_assoc
 from CimTest import Globals
 from CimTest.Globals import logger
-from CimTest.ReturnCodes import PASS, FAIL
+from CimTest.ReturnCodes import PASS, FAIL, XFAIL_RC
 from XenKvmLib.const import do_main
 from XenKvmLib.classes import get_typed_class
 
-expr_values = { "rc"   : pywbem.CIM_ERR_NOT_FOUND, \
-                "desc" : "No such instance"
-              } 
+bug = "00007"
+expr_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)"}
+             }
 
 sup_types=['Xen', 'KVM', 'XenFV', 'LXC']
 @do_main(sup_types)
@@ -42,30 +47,36 @@ def main():
     options = main.options
     status = PASS
     keys = ['Name', 'CreationClassName']
-    try: 
-        host_sys = enumclass.enumerate(options.ip, 'HostSystem', keys, options.virt)[0]
-    except Exception:
-        host_cn = get_typed_class(options.virt, "HostSystem")
-        logger.error(Globals.CIM_ERROR_ENUMERATE % host_cn)
+    status, host_sys, host_cn = 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,                                        
                                   (Globals.CIM_USER, Globals.CIM_PASS),
                                                        Globals.CIM_NS)
-    classname = host_sys.CreationClassName 
+    classname = host_cn
     assoc_classname = get_typed_class(options.virt, "HostedResourcePool")
 
-    keys = {"Name" : "wrong", "CreationClassName" : host_sys.CreationClassName}
-    ret =  try_assoc(conn, classname, assoc_classname, keys, "Name", expr_values, bug_no="")
+    keys = {"Name" : host_sys, "CreationClassName" : "wrong"}
+    ret =  try_assoc(conn, classname, assoc_classname, keys, \
+                     "Name", expr_values['invalid_ccname'], bug_no="")
     if ret != PASS:
-        logger.error("------ FAILED: Invalid Name Key Name.------")
-        status = ret
+        if host_cn == 'Linux_ComputerSystem':
+            return XFAIL_RC(bug)
+        else:
+            logger.error("------ FAILED: Invalid CreationClassName Key Value.------")
+            status = ret
 
-    keys = {"Wrong" : host_sys.Name, "CreationClassName" : host_sys.CreationClassName}
-    ret = try_assoc(conn, classname, assoc_classname, keys, "Name", expr_values, bug_no="")
+    keys = {"Name" : "wrong", "CreationClassName" : host_cn}
+    ret = try_assoc(conn, classname, assoc_classname, keys, \
+                  "CreationClassName", expr_values['invalid_name'], bug_no="")
     if ret != PASS:
-        logger.error("------ FAILED: Invalid Name Key Value.------")
-        status = ret
+        if host_cn == 'Linux_ComputerSystem':
+            return XFAIL_RC(bug)
+        else:
+            logger.error("------ FAILED: Invalid Name Key Value.------")
+            status = ret
 
     return status
 if __name__ == "__main__":




More information about the Libvirt-cim mailing list