[Libvirt-cim] [PATCH] [TEST] Updating 01_forward.py of ECTP
Kaitlin Rupert
kaitlin at linux.vnet.ibm.com
Tue Sep 16 04:24:56 UTC 2008
> +
> +def init_vs_pool_values(server, virt):
I don't think think this function is needed. You don't need to confirm
that the attribute values of the instances are valid - this should be
covered by the class specific tests. You just need to confirm that the
association is returning the instances you expect - verify the values of
the keys are as expected.
The code you have here is useful - however, I think it belongs in a
class provider specific test, not an association provider test.
> +
> +
> + return verify_ectp_list
> +
> +def verify_fields(assoc_val, pllst_index, vs_pool_values):
> +def verify_cs_hs_mig_fields(assoc_info, vs_pool_values):
Same goes for these 2 functions. All of this can be condensed into a
function that just checks key values.
> +def get_proflist(server, reg_classname, virt):
> + proflist = []
I'd name this variable profiles_instid_list.
> + status = PASS
> + try:
> + key_list = ["InstanceID"]
> + proflist = enumerate(server, reg_classname, key_list, virt)
> + if len(proflist) < 7:
> + logger.error("'%s' returned '%d' '%s' objects, expected atleast 7",
> + reg_classname, len(proflist), 'Profile')
> + status = FAIL
> - return PASS
> + if status != PASS:
> + return status, proflist
And here, return profiles_instid_list instead of proflist.
> +
> + profiles_instid_list = [ profile.InstanceID for profile in proflist ]
> +
> + return status, profiles_instid_list
> +
> +
>
> @do_main(sup_types)
> def main():
> options = main.options
> -
> + server = options.ip
> + virt = options.virt
> +
> status = PASS
> destroy_and_undefine_all(options.ip, options.virt)
>
> virt_xml = vxml.get_class(options.virt)
> cxml = virt_xml(test_dom)
> - ret = cxml.define(options.ip)
> + ret = cxml.cim_define(server)
You'll want to check the return value of cim_define() to make sure the
call doesn't fail.
> + ret = cxml.start(server)
> if not ret:
> - logger.error('Unable to define domain %s' % test_dom)
> + logger.error('Unable to start domain %s' % test_dom)
> return FAIL
> +
>
> prev_namespace = Globals.CIM_NS
> Globals.CIM_NS = 'root/interop'
> - host = live.hostname(options.ip)
>
> - inst_lst = {
> - "InstID1" : "CIM:DSP1042-SystemVirtualization-1.0.0" ,
> - "InstID2" : "CIM:DSP1057-VirtualSystem-1.0.0a"
> - }
> - hs = get_typed_class(options.virt, "HostSystem")
> - cs = get_typed_class(options.virt, "ComputerSystem")
> + status = verify_ectp_assoc(server, virt)
I'm not much in favor of having the bulk of test be in a function.
Functions are really helpful at breakup up long bits of code, but in
this case, main setups up the environment, calls a function, and then
tears down the environment.
In order to understand what the test does, you are forced to look at the
verify_ectp_assoc(). It seems like a lot of this function could be
included in the main portion. You don't have to change this, but I
think it's something to try to avoid in the future.
--
Kaitlin Rupert
IBM Linux Technology Center
kaitlin at linux.vnet.ibm.com
More information about the Libvirt-cim
mailing list