[Libvirt-cim] [PATCH] Cimtest: Check for None return value
Chip Vincent
cvincent at linux.vnet.ibm.com
Wed Jun 8 17:00:12 UTC 2011
I'm seeing a new failure with this patch:
NetworkPort - 01_netport.py: FAIL
ERROR - CIMError : (16, u'CIM_ERR_METHOD_NOT_AVAILABLE: __nonzero__')
Traceback (most recent call last):
File
"/home/cvincent/tmp/cimtest/suites/libvirt-cim/lib/XenKvmLib/const.py",
line 140, in do_try
rc = f()
File "01_netport.py", line 86, in main
if not dev:
File "/home/cvincent/tmp/cimtest/lib/CimTest/CimExt.py", line 32, in
__call__
return self.__invoker(self.__name, args)
File
"/home/cvincent/tmp/cimtest/suites/libvirt-cim/lib/XenKvmLib/enumclass.py",
line 108, in __invoke
**params)
File "/usr/lib/python2.6/site-packages/pywbem/cim_operations.py",
line 801, in InvokeMethod
result = self.methodcall(MethodName, obj, **params)
File "/usr/lib/python2.6/site-packages/pywbem/cim_operations.py",
line 362, in methodcall
raise CIMError(code, tt[0][1]['DESCRIPTION'])
CIMError: (16, u'CIM_ERR_METHOD_NOT_AVAILABLE: __nonzero__')
ERROR - None
InvokeMethod(__nonzero__): CIM_ERR_METHOD_NOT_AVAILABLE: __nonzero__
On 06/01/2011 04:43 PM, Eduardo Lima (Etrunko) wrote:
> # HG changeset patch
> # User Eduardo Lima (Etrunko)<eblima at br.ibm.com>
> # Date 1306960999 10800
> # Node ID 373d418b222c25309db3d83dd384abf61127ebe9
> # Parent f303bd9615f23b8b79c5532dd5489899a13a0f8e
> Cimtest: Check for None return value
>
> Some tests were raising Attribute Exception due to None value returned.
>
> Signed-off-by: Eduardo Lima (Etrunko)<eblima at br.ibm.com>
>
> diff --git a/suites/libvirt-cim/cimtest/LogicalDisk/01_disk.py b/suites/libvirt-cim/cimtest/LogicalDisk/01_disk.py
> --- a/suites/libvirt-cim/cimtest/LogicalDisk/01_disk.py
> +++ b/suites/libvirt-cim/cimtest/LogicalDisk/01_disk.py
> @@ -57,7 +57,10 @@
> dev = GetInstance(options.ip, disk, key_list)
> status = 0
>
> - if dev.Name != test_dev:
> + if not dev:
> + logger.error("GetInstance() returned None")
> + status = 1
> + else if dev.Name != test_dev:
> logger.error("Name should be `%s' instead of `%s'", test_dev, dev.Name)
> status = 1
>
> diff --git a/suites/libvirt-cim/cimtest/Memory/01_memory.py b/suites/libvirt-cim/cimtest/Memory/01_memory.py
> --- a/suites/libvirt-cim/cimtest/Memory/01_memory.py
> +++ b/suites/libvirt-cim/cimtest/Memory/01_memory.py
> @@ -56,7 +56,10 @@
>
> status = 0
>
> - if dev.ConsumableBlocks> dev.NumberOfBlocks:
> + if not dev:
> + logger.error("GetInstance() returned None")
> + status = 1
> + else if dev.ConsumableBlocks> dev.NumberOfBlocks:
> logger.error("ConsumableBlocks should not be larger than NumberOfBlocks")
> status = 1
>
> diff --git a/suites/libvirt-cim/cimtest/NetworkPort/01_netport.py b/suites/libvirt-cim/cimtest/NetworkPort/01_netport.py
> --- a/suites/libvirt-cim/cimtest/NetworkPort/01_netport.py
> +++ b/suites/libvirt-cim/cimtest/NetworkPort/01_netport.py
> @@ -83,6 +83,11 @@
> vsxml.undefine(options.ip)
> return FAIL
>
> + if not dev:
> + logger.error("GetInstance() returned None")
> + vsxml.undefine(options.ip)
> + return FAIL
> +
> if dev.DeviceID == None:
> logger.error("Error retrieving instance for devid %s", devid)
> vsxml.undefine(options.ip)
> diff --git a/suites/libvirt-cim/cimtest/VirtualSystemManagementService/11_define_memrasdunits.py b/suites/libvirt-cim/cimtest/VirtualSystemManagementService/11_define_memrasdunits.py
> --- a/suites/libvirt-cim/cimtest/VirtualSystemManagementService/11_define_memrasdunits.py
> +++ b/suites/libvirt-cim/cimtest/VirtualSystemManagementService/11_define_memrasdunits.py
> @@ -47,6 +47,10 @@
>
> rasds = get_default_rasds(options.ip, options.virt)
>
> + if not rasds:
> + logger.error("get_default_rasds() returned None")
> + return FAIL
> +
> rasd_list = {}
>
> for rasd in rasds:
> @@ -56,6 +60,10 @@
> rasd['AllocationUnits'] = units
> rasd_list[mrasd_cn] = inst_to_mof(rasd)
>
> + if mrasd_cn not in rasd_list.keys():
> + logger.error("Key '%s' not found in dictionary '%s'" % (mrasd_cn, rasd_list))
> + return FAIL
> +
> if rasd_list[mrasd_cn] is None:
> logger.error("Unable to get template MemRASD")
> return FAIL
> diff --git a/suites/libvirt-cim/cimtest/VirtualSystemManagementService/14_define_sys_disk.py b/suites/libvirt-cim/cimtest/VirtualSystemManagementService/14_define_sys_disk.py
> --- a/suites/libvirt-cim/cimtest/VirtualSystemManagementService/14_define_sys_disk.py
> +++ b/suites/libvirt-cim/cimtest/VirtualSystemManagementService/14_define_sys_disk.py
> @@ -154,7 +154,7 @@
> logger.error(details)
> status = FAIL
>
> - if os.path.exists(addr):
> + if addr and os.path.exists(addr):
> os.remove(addr)
>
> if guest_defined == True:
>
> _______________________________________________
> Libvirt-cim mailing list
> Libvirt-cim at redhat.com
> https://www.redhat.com/mailman/listinfo/libvirt-cim
--
Chip Vincent
Open Virtualization
IBM Linux Technology Center
cvincent at linux.vnet.ibm.com
More information about the Libvirt-cim
mailing list