[Libvirt-cim] [PATCH] [TEST] Add branch to AC for expected pool length

Guo Lian Yun yunguol at cn.ibm.com
Wed Dec 3 02:16:57 UTC 2008


+1 from me.


Best,
Regards

Daisy (运国莲)
VSM Team, China Systems & Technology Labs (CSTL)
E-mail: yunguol at cn.ibm.com
TEL: (86)-21-60922403
Building 10, 399 Ke Yuan Rd, Pudong Shanghai, 201203




Kaitlin Rupert <kaitlin at linux.vnet.ibm.com> 
Sent by: libvirt-cim-bounces at redhat.com
2008-12-03 06:56
Please respond to
List for discussion and development of libvirt CIM 
<libvirt-cim at redhat.com>


To
libvirt-cim at redhat.com
cc

Subject
[Libvirt-cim] [PATCH] [TEST] Add branch to AC for expected pool length






# HG changeset patch
# User Kaitlin Rupert <karupert at us.ibm.com>
# Date 1228258522 28800
# Node ID 04ee80afcbcb711111d990c771c4427dae2a0256
# Parent  ec1b901cf22d440a8461abfe633e8a634ee112ce
[TEST] Add branch to AC for expected pool length.

Also, change the layout of the test so that the flow makes a little more 
sense.

Signed-off-by: Kaitlin Rupert <karupert at us.ibm.com>

diff -r ec1b901cf22d -r 04ee80afcbcb 
suites/libvirt-cim/cimtest/AllocationCapabilities/01_enum.py
--- a/suites/libvirt-cim/cimtest/AllocationCapabilities/01_enum.py  Tue 
Dec 02 13:28:51 2008 -0800
+++ b/suites/libvirt-cim/cimtest/AllocationCapabilities/01_enum.py  Tue 
Dec 02 14:55:22 2008 -0800
@@ -27,28 +27,35 @@
 
 import sys
 from XenKvmLib.enumclass import EnumInstances 
-from XenKvmLib.const import do_main, platform_sup
+from XenKvmLib.const import do_main, platform_sup, get_provider_version
 from CimTest.Globals import logger, CIM_ERROR_ENUMERATE
 from CimTest.ReturnCodes import PASS, FAIL
 from XenKvmLib.common_util import cleanup_restore 
 from XenKvmLib.classes import get_typed_class
 
 sup_types = ['Xen', 'KVM', 'XenFV', 'LXC']
+input_graphics_pool_rev = 757
 
-def enum_pools_and_ac(ip, ac_cn, p_names):
+def enum_pools(ip, ac_cn, virt):
+    pt = [get_typed_class(virt, 'MemoryPool'), 
+          get_typed_class(virt, 'ProcessorPool'), 
+          get_typed_class(virt, 'DiskPool'), 
+          get_typed_class(virt, 'NetworkPool')]
+
+    curr_cim_rev, changeset = get_provider_version(virt, ip)
+    if curr_cim_rev >= input_graphics_pool_rev:
+          pt.append(get_typed_class(virt, 'GraphicsPool'))
+          pt.append(get_typed_class(virt, 'InputPool'))
+
     pools = {}
-    ac = []
 
     try:
-        ac = EnumInstances(ip, ac_cn)
-
-        for p_cn in p_names:
+        for p_cn in pt:
 
             enum_list = EnumInstances(ip, p_cn)
 
             if len(enum_list) < 1:
-                logger.error("%s did not return any instances" % p_cn)
-                return pools, ac 
+                raise Exception("%s did not return any instances" % p_cn)
 
             for pool in enum_list:
                 pools[pool.InstanceID] = pool 
@@ -56,12 +63,13 @@
     except Exception, details:
         logger.error(CIM_ERROR_ENUMERATE, ac_cn)
         logger.error(details)
-        return pools, ac 
+        return pools, FAIL 
 
-    if len(ac) != len(pools):
-        logger.error("%s returned %s instances, expected %s" % (ac_cn, 
len(ac), 
-                     len(pools)))
-    return pools, ac 
+    if len(pools) < len(pt):
+        logger.error("%d pools returned, exp at least %d", len(pools), 
len(pt))
+        return pools, FAIL
+
+    return pools, PASS
 
 def compare_pool_to_ac(ac, pools, cn):
     try:
@@ -84,17 +92,21 @@
     options = main.options
 
     cn = get_typed_class(options.virt, 'AllocationCapabilities')
-    pt = [get_typed_class(options.virt, 'MemoryPool'), 
-          get_typed_class(options.virt, 'ProcessorPool'), 
-          get_typed_class(options.virt, 'DiskPool'), 
-          get_typed_class(options.virt, 'NetworkPool'),
-          get_typed_class(options.virt, 'GraphicsPool'),
-          get_typed_class(options.virt, 'InputPool')]
 
-    pools, ac = enum_pools_and_ac(options.ip, cn, pt)
-    if len(pools) < 4:
-        logger.error("Only %d pools returned, expected at least 4" % 
len(pools))
-        cleanup_restore(options.ip, options.virt)
+    try:
+        ac = EnumInstances(options.ip, cn)
+
+    except Exception, details:
+        logger.error(CIM_ERROR_ENUMERATE, cn)
+        logger.error(details)
+        return FAIL
+
+    pools, status = enum_pools(options.ip, cn, options.virt)
+    if status != PASS:
+        return status
+
+    if len(ac) != len(pools):
+        logger.error("%d %s insts != %d pool insts" % (len(ac), cn, 
len(pools)))
         return FAIL
 
     status = compare_pool_to_ac(ac, pools, cn)

_______________________________________________
Libvirt-cim mailing list
Libvirt-cim at redhat.com
https://www.redhat.com/mailman/listinfo/libvirt-cim


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/libvirt-cim/attachments/20081203/cb553c91/attachment.htm>


More information about the Libvirt-cim mailing list