summaryrefslogtreecommitdiff
path: root/addons/base_module_quality/method_test
diff options
context:
space:
mode:
authorFabien Pinckaers <fp@tinyerp.com>2008-12-24 09:51:43 +0100
committerFabien Pinckaers <fp@tinyerp.com>2008-12-24 09:51:43 +0100
commitba8937a2008b41249bdf2d7760bb9619b9c77dec (patch)
tree9c7a070d4f5a3f79d3db54ad0d3a7d7849062714 /addons/base_module_quality/method_test
parent3f5e5e4a8fa9118f3d59933de7597a01f76a0dd7 (diff)
parentdd30ce0e8baf788ee77bd829f8e8cc7eff05cf0a (diff)
improved
bzr revid: fp@tinyerp.com-20081224085143-yolkoqj7l70i99bz
Diffstat (limited to 'addons/base_module_quality/method_test')
-rw-r--r--addons/base_module_quality/method_test/method_test.py44
1 files changed, 27 insertions, 17 deletions
diff --git a/addons/base_module_quality/method_test/method_test.py b/addons/base_module_quality/method_test/method_test.py
index 84f3f167247..c788d4bc979 100644
--- a/addons/base_module_quality/method_test/method_test.py
+++ b/addons/base_module_quality/method_test/method_test.py
@@ -31,50 +31,60 @@ class quality_test(base_module_quality.abstract_quality_check):
def __init__(self):
self.result = """
-Method Test:
-------------
-
- This test checks if the class method has exception or not.
+===Method Test===:
+This test checks if the module classes are raising exception when calling basic methods or no.
"""
- self.bool_installed_only = False
+ self.bool_installed_only = True
return None
- def run_test(self, module_path, module_name=None, cr=None, uid=None):
+ def run_test(self, cr, uid, module_path):
pool = pooler.get_pool(cr.dbname)
+ module_name = module_path.split('/')[-1]
ids2 = pool.get('ir.model.data').search(cr, uid, [('module','=', module_name), ('model','=','ir.model')])
+ model_list = []
+ model_data = pool.get('ir.model.data').browse(cr, uid, ids2)
+ for model in model_data:
+ model_list.append(model.res_id)
obj_list = []
- for mod in pool.get('ir.model.data').browse(cr, uid, ids2):
- object_name = mod.name.split('_')
- object_name.pop(0)
- object_name = '.'.join(object_name)
- obj_list.append(str(object_name))
+ for mod in pool.get('ir.model').browse(cr, uid, model_list):
+ obj_list.append(str(mod.model))
result={}
- self.result += "Module Name:" + module_name + '\n' + '===============\n'
+ ok_count = 0
+ ex_count = 0
+
for obj in obj_list:
- temp=[]
+ temp = []
try:
res = pool.get(obj).search(cr, uid, [])
temp.append('Ok')
+ ok_count += 1
except:
temp.append('Exception')
+ ex_count += 1
try:
res1 = pool.get(obj).fields_view_get(cr, uid,)
temp.append('Ok')
+ ok_count += 1
except:
temp.append('Exception')
+ ex_count += 1
try:
res2 = pool.get(obj).read(cr, uid, [])
temp.append('Ok')
+ ok_count += 1
except:
temp.append('Exception')
+ ex_count += 1
result[obj] = temp
- self.result+=("%-40s %-12s \t %-16s %-12s")%('Object Name'.ljust(40),'search','fields_view_get','read')
- self.result+='\n'
+ self.result += ('{| border="1" cellspacing="0" cellpadding="5" align="left" \n! %-40s \n! %-16s \n! %-20s \n! %-16s ') % ('Object Name'.ljust(40), 'search()'.ljust(16), 'fields_view_get()'.ljust(20), 'read()'.ljust(16))
+
for res in result:
- self.result+=("%-40s %-12s \t %-16s \t %-12s")%(res.ljust(40),result[res][0],result[res][1],result[res][2])
- self.result+="\n"
+ self.result += ('\n|-\n| %s \n| %s \n| %s \n| %s ') % (res, result[res][0],result[res][1], result[res][2])
+
+ self.result += '\n|}'
+ self.score = (ok_count + ex_count) and float(ok_count)/float(ok_count + ex_count) or 0.0
return None