yunguol@cn.ibm.com wrote:
# HG changeset patch
# User Guolian Yun <yunguol@cn.ibm.com>
# Date 1223273159 25200
# Node ID 3e0a467ec1227d04e2478ff7c10447a00459d246
# Parent b710ecb26adf500caa6b801fdf10e4efbed3877e
[TEST] #4 Fix HostedService-04_reverse_errs.py to work with sblim base provider installed
Updates form 3 to 4:
verifying the complete exception instead of just verifying part of it
Follow up patch will to verify other exceptions except invalid Name
Signed-off-by: Guolian Yun <yunguol@cn.ibm.com>
diff -r b710ecb26adf -r 3e0a467ec122 suites/libvirt-cim/cimtest/HostedService/04_reverse_errs.py
--- a/suites/libvirt-cim/cimtest/HostedService/04_reverse_errs.py Fri Oct 03 06:34:29 2008 -0700
+++ b/suites/libvirt-cim/cimtest/HostedService/04_reverse_errs.py Sun Oct 05 23:05:59 2008 -0700
@@ -25,6 +25,7 @@ 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
from XenKvmLib.classes import get_typed_class
from CimTest.Globals import logger, CIM_ERROR_ENUMERATE, CIM_USER, \
CIM_PASS, CIM_NS
@@ -33,20 +34,17 @@ from CimTest.ReturnCodes import PASS, FA
sup_types = ['Xen', 'XenFV', 'KVM', 'LXC']
exp_rc = 6 #CIM_ERR_NOT_FOUND
-exp_desc = "No such instance"
+exp_desc = "No such instance (Name)"
@do_main(sup_types)
def main():
options = main.options
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
-
servicelist = {get_typed_class(options.virt, "ResourcePoolConfigurationService") : "RPCS",
get_typed_class(options.virt, "VirtualSystemManagementService") : "Management Service",
We should indent the lines to 80 columns.
@@ -59,13 +57,14 @@ def main():
for k, v in servicelist.items():
instanceref = CIMInstanceName(k,
keybindings = {"Wrong" : v,
- "CreationClassName" : "wrong",
- "SystemCreationClassName" : host_sys.CreationClassName,
- "SystemName" : host_sys.Name})
+ "CreationClassName" : k,
+ "SystemCreationClassName" : host_ccn,
Wrap this line to 80 columns.
+ "SystemName" : host_name})
names = []
-
+
+ assoc_class = get_typed_class(options.virt, "HostedService")
try:
- names = conn.AssociatorNames(instanceref, AssocClass = get_typed_class(options.virt, "HostedService"))
+ names = conn.AssociatorNames(instanceref, AssocClass = assoc_class)
rc = 0
except pywbem.CIMError, (rc, desc):
if rc == exp_rc and desc.find(exp_desc) >= 0:
@@ -78,7 +77,8 @@ def main():
logger.error(details)
if rc == 0:
- logger.error("HostedService associator should NOT return excepted result with a wrong key name and value of %s input" % k)
+ logger.error("HostedService associator should NOT return excepted result\
+ with a wrong key name and value of %s input" % k)
Need to align this log msg as this will give lot of space between
result and with as below:
HostedService associator should NOT return excepted
result with a wrong key name and value of
Xen_ResourcePoolConfigurationService input
Also, you can use the association name variable assoc_class instead
of hardcoding it as below:
logger.error("'%s' associator should NOT return records "
"with a wrong key name and CreationClassName value of %s input", assoc_class, k)
status = FAIL
return status
Misplaced return statement , this will exit after checking for RPCS and
the loop will not execute the VirtualSystemMigrationService and
VirtualSystemManagementService checks.
Also, you can replace calling Associators() and verifications, with the
library function try_assoc() of common_util.py to verify the exceptions
for the associtations.
This is not related to your changes, but can you change the following
log msg
logger.error("Unknown exception happened")
to
logger.error("Unknown exception")
_______________________________________________
Libvirt-cim mailing list
Libvirt-cim@redhat.com
https://www.redhat.com/mailman/listinfo/libvirt-cim