[Libvirt-cim] [PATCH] [TEST] Add new tc to verify VSMS.RemoveResourceSettings() with invalid instance

Kaitlin Rupert kaitlin at linux.vnet.ibm.com
Tue Mar 24 17:12:24 UTC 2009


> +exp_rc = 13
> +exp_desc = 'CIM_ERR_TYPE_MISMATCH'
> +
> +sup_types = ['Xen', 'KVM', 'XenFV']
> +default_dom = 'domain'
> +
> + at do_main(sup_types)
> +def main():
> +    options = main.options
> +
> +    cxml = get_class(options.virt)(default_dom)
> +    ret = cxml.cim_define(options.ip)
> +    if not ret:
> +        logger.error("Failed to define the dom: %s", default_dom)
> +        return FAIL
> +
> +    rc = -1
> +    try:
> +        bad_inst = 'instance of what ever dfs&'

This will just verify the CIMOM, since the CIMOM will check the type of 
the parameter.

Instead, you need to create a RASD instance, but have something in the 
instance be invalid.  One example would be to create a RASD of a class 
type we don't support, or set all of the attributes to NULL / 0.


> +        service = get_vsms_class(options.virt)(options.ip) 
> +        ret = service.RemoveResourceSettings(ResourceSettings=[bad_inst])
> +        if ret[0] == 0:
> +            logger.error('RemoveRS should NOT return OK with wrong RS input')
> +            rc = 0

Why do you set the rc value here?  You don't check it afterwards.

> +    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"\n %s',
> +                         rc, desc)
> +            status = FAIL
> +    except Exception, details:       
> +        logger.error(details)
> +        status = FAIL
> +
> +    cxml.undefine(options.ip)
> +    return status
> +


-- 
Kaitlin Rupert
IBM Linux Technology Center
kaitlin at linux.vnet.ibm.com




More information about the Libvirt-cim mailing list