[Libvirt-cim] [PATCH] Cimtest: Check for None return value

Eduardo Lima (Etrunko) eblima at linux.vnet.ibm.com
Wed Jun 1 20:43:57 UTC 2011


# 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: 




More information about the Libvirt-cim mailing list