[Libvirt-cim] [PATCH] [TEST] #3 Fix ElementCapabilities/03_forward_errs.py with provider's updated err message

yunguol at cn.ibm.com yunguol at cn.ibm.com
Mon Mar 9 02:58:41 UTC 2009


# HG changeset patch
# User Guolian Yun <yunguol at cn.ibm.com>
# Date 1236567513 25200
# Node ID e601bc0ba234dae371ec38b8289b5827d12f2910
# Parent  087aaba2658940bbc8718aa55cbcd6150f7cac23
[TEST] #3 Fix ElementCapabilities/03_forward_errs.py with provider's updated err message


Updates from 2 to 3:
Get correct CS Name instead of hard code of "Xen_ComputerSystem"

Updates from 1 to 2:
Use a variable to assign revision value to be calculated for comparison

Also fix the line to meet 80 length

Tested for KVM/LXC with current sources and rpm

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

diff -r 087aaba26589 -r e601bc0ba234 suites/libvirt-cim/cimtest/ElementCapabilities/03_forward_errs.py
--- a/suites/libvirt-cim/cimtest/ElementCapabilities/03_forward_errs.py	Thu Mar 05 22:04:39 2009 -0800
+++ b/suites/libvirt-cim/cimtest/ElementCapabilities/03_forward_errs.py	Sun Mar 08 19:58:33 2009 -0700
@@ -27,10 +27,11 @@
 from XenKvmLib import enumclass
 from XenKvmLib.classes import get_typed_class
 from CimTest.Globals import logger, CIM_USER, CIM_PASS, CIM_NS 
-from XenKvmLib.const import do_main
+from XenKvmLib.const import do_main, get_provider_version
 from CimTest.ReturnCodes import PASS, FAIL
 
 sup_types = ['Xen', 'XenFV', 'KVM', 'LXC']
+libvirt_ec_changes = 815
 
 exp_rc = 6 #CIM_ERR_NOT_FOUND
 exp_desc = "No such instance"
@@ -42,23 +43,24 @@
     status = FAIL
     rc = -1
     names = []
-
+    ec = get_typed_class(options.virt, "ElementCapabilities")
     try:
-        names = conn.AssociatorNames(ref, AssocClass = get_typed_class(options.virt, "ElementCapabilities"))
+        names = conn.AssociatorNames(ref, AssocClass = ec)
         rc = 0
     except pywbem.CIMError, (rc, desc):
         if rc == exp_rc and desc.find(exp_desc) >= 0:
             logger.info("Got expected rc code and error string")
             status = PASS
         else:
-            logger.error("Unexpected rc code %s and description %s\n", rc, desc)
+            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("ElementCapabilities associator should NOT return excepted \
-                      result with a wrong key name and value of %s input", ref_class)
+        logger.error("ElementCapabilities associator should NOT" + \
+                     " return records with a wrong key name and value")
         status = FAIL
      
     return status
@@ -73,7 +75,8 @@
     cs = get_typed_class(options.virt, "ComputerSystem")
 
     instanceref = CIMInstanceName(hs,
-                                  keybindings = {"Name" : "wrong", "CreationClassName" : "wrong"})
+                                  keybindings = {"Name" : "wrong", 
+                                  "CreationClassName" : "wrong"})
     rc = try_assoc(instanceref, hs, exp_rc, exp_desc, options)
     
     if rc != PASS:
@@ -81,8 +84,16 @@
         return status
 
     instance_cs = CIMInstanceName(cs,
-                                  keybindings = {"Name" : "wrong", "CreationClassName" : "Xen_ComputerSystem"})
-    rc = try_assoc(instance_cs, cs, exp_rc, exp_desc, options)
+                                  keybindings = {"Name" : "wrong", 
+                                  "CreationClassName" : cs})
+
+    curr_cim_rev, changeset = get_provider_version(options.virt, options.ip)
+    if curr_cim_rev >= libvirt_ec_changes:
+        cs_exp_desc = "Referenced domain `wrong' does not exist:" + \
+                      " Domain not found"
+        try_assoc(instance_cs, cs, exp_rc, cs_exp_desc, options)
+    else:
+        rc = try_assoc(instance_cs, cs, exp_rc, exp_desc, options)
     if rc != PASS:
         status = FAIL         
         return status




More information about the Libvirt-cim mailing list