summaryrefslogtreecommitdiff
path: root/addons/base_module_quality
diff options
context:
space:
mode:
authormra (Open ERP) <mra@tinyerp.com>2009-01-07 18:37:53 +0530
committermra (Open ERP) <mra@tinyerp.com>2009-01-07 18:37:53 +0530
commit1d2fef3edfc768aa681dd609db2516d34fae27a0 (patch)
tree6976aec5ff5fae6c2cc51b8c35fb9e620c482b0b /addons/base_module_quality
parent8e34540eebaf0ff5e75e68c700d419310180983a (diff)
quality module
bzr revid: mra@tinyerp.com-20090107130753-n0or93qkfcuj96b6
Diffstat (limited to 'addons/base_module_quality')
-rw-r--r--addons/base_module_quality/base_module_quality.py19
-rw-r--r--addons/base_module_quality/method_test/method_test.py12
-rw-r--r--addons/base_module_quality/speed_test/speed_test.py34
3 files changed, 33 insertions, 32 deletions
diff --git a/addons/base_module_quality/base_module_quality.py b/addons/base_module_quality/base_module_quality.py
index 21c17e99a1e..6db637ab32e 100644
--- a/addons/base_module_quality/base_module_quality.py
+++ b/addons/base_module_quality/base_module_quality.py
@@ -103,16 +103,15 @@ class abstract_quality_check(object):
def format_table(self, header=[], data_list=[]):
detail = ""
- if header[0]=='method':
- detail += ('{| border="1" cellspacing="0" cellpadding="5" align="left" \n! %-40s \n! %-16s \n! %-20s \n! %-16s ') % (header[1].ljust(40), header[2].ljust(16), header[3].ljust(20), header[4].ljust(16))
- for res in data_list[0]:
- detail += ('\n|-\n| %s \n| %s \n| %s \n| %s ') % (res, data_list[0][res][0], data_list[0][res][1], data_list[0][res][2])
- detail = detail + '\n|}'
- elif header[0]=='speed':
- detail += ('{| border="1" cellspacing="0" cellpadding="5" align="left" \n! %-40s \n! %-10s \n! %-10s \n! %-10s \n! %-10s \n! %-20s') % (header[1].ljust(40), header[2].ljust(10), header[3].ljust(10), header[4].ljust(10), header[5].ljust(10), header[6].ljust(20))
- for data in data_list[0]:
- detail += ('\n|-\n| %s \n| %s \n| %s \n| %s \n| %s \n| %s ') % (data[0], data[1], data[2], data[3], data[4], data[5])
- detail = detail + '\n|}\n'
+ header_list = []
+ final_list = []
+ for head in data_list[1]:
+ header_list.append(head)
+ detail += (header[0]) % tuple(header_list)
+ for res in data_list[0]:
+ data_list[0][res].append(res)
+ detail += (header[1]) % tuple(data_list[0][res])
+ detail = detail + '\n|}'
return detail
def add_quatation(self, x, y):
diff --git a/addons/base_module_quality/method_test/method_test.py b/addons/base_module_quality/method_test/method_test.py
index 5c244309b14..8ca77b996f5 100644
--- a/addons/base_module_quality/method_test/method_test.py
+++ b/addons/base_module_quality/method_test/method_test.py
@@ -35,6 +35,7 @@ class quality_test(base_module_quality.abstract_quality_check):
self.bool_installed_only = True
self.ponderation = 1.0
self.result_det = {}
+ self.data_list = []
return None
def run_test(self, cr, uid, module_path):
@@ -67,6 +68,7 @@ class quality_test(base_module_quality.abstract_quality_check):
temp.append('Exception')
ex_count += 1
self.result_det[obj] = temp
+ self.data_list.append(self.result_det)
self.score = (ok_count + ex_count) and float(ok_count)/float(ok_count + ex_count) or 0.0
self.result = self.get_result()
self.result_details = self.get_result_details()
@@ -79,10 +81,14 @@ This test checks if the module classes are raising exception when calling basic
return summary
def get_result_details(self):
- header_list = ['method', 'Object Name', 'search()', 'fields_view_get', 'read']
- detail = "" #"\n===Method Test===\n"
+ header_list = []
+ header_list.append('{| border="1" cellspacing="0" cellpadding="5" align="left" \n! %-40s \n! %-16s \n! %-20s \n! %-16s ')
+ header_list.append('\n|-\n| %s \n| %s \n| %s \n| %s ')
+ header_view = ['Object Name', 'search()', 'fields_view_get', 'read']
+ self.data_list.append(header_view)
+ detail = ""
if not self.error:
- detail += self.format_table(header=header_list, data_list=[self.result_det])
+ detail += self.format_table(header=header_list, data_list=self.data_list)
return detail
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/base_module_quality/speed_test/speed_test.py b/addons/base_module_quality/speed_test/speed_test.py
index 7ea7d5dd72b..d631ab2c96b 100644
--- a/addons/base_module_quality/speed_test/speed_test.py
+++ b/addons/base_module_quality/speed_test/speed_test.py
@@ -38,7 +38,8 @@ class quality_test(base_module_quality.abstract_quality_check):
self.name = _("Speed Test")
self.bool_installed_only = True
self.ponderation = 1.0
- self.listdata = []
+ self.result_det = {}
+ self.data_list = []
return None
def run_test(self, cr, uid, module_path):
pool = pooler.get_pool(cr.dbname)
@@ -69,8 +70,8 @@ class quality_test(base_module_quality.abstract_quality_check):
if size < 5:
self.score += -2
- list = [obj, size, code_base_complexity, code_half_complexity, code_size_complexity, "Warning! Not enough demo data"]
- self.listdata.append(list)
+ list = [size, code_base_complexity, code_half_complexity, code_size_complexity, "Warning! Not enough demo data"]
+ self.result_det[obj] = list
else:
if code_size_complexity <= (code_base_complexity + size):
complexity = "O(1)"
@@ -78,12 +79,13 @@ class quality_test(base_module_quality.abstract_quality_check):
else:
complexity = "O(n) or worst"
score = 0
- list = [obj, size, code_base_complexity, code_half_complexity, code_size_complexity, complexity]
- self.listdata.append(list)
+ list = [size, code_base_complexity, code_half_complexity, code_size_complexity, complexity]
+ self.result_det[obj] = list
else:
score += -5
- list = [obj, size, "", "", "", "Warning! Object has no demo data"]
- self.listdata.append(list)
+ list = [size, "", "", "", "Warning! Object has no demo data"]
+ self.result_det[obj] = list
+ self.data_list.append(self.result_det)
self.score = obj_counter and score/obj_counter or 0.0
self.result = self.get_result()
self.result_details = self.get_result_details()
@@ -91,26 +93,20 @@ class quality_test(base_module_quality.abstract_quality_check):
return None
def get_result(self):
-## self.run_test(cr, uid, module_path)
-# if not self.bool_installed_only or module_state=="installed":
summary = """
This test checks the speed of the module.
-
"""
-# else:
-# summary =""" \n===Speed Test===:
-#
-#The module has to be installed before running this test.\n\n """
-# header_list = ""
-# self.error = True
return summary
def get_result_details(self):
- header_list = ['speed', 'Object Name', 'Size-Number of Records (S)', '1', 'S/2', 'S', 'Complexity using query']
+ header_list = []
+ header_list.append('{| border="1" cellspacing="0" cellpadding="5" align="left" \n! %-40s \n! %-10s \n! %-10s \n! %-10s \n! %-10s \n! %-20s')
+ header_list.append('\n|-\n| %s \n| %s \n| %s \n| %s \n| %s \n| %s ')
+ header_view = ['Object Name', 'Size-Number of Records (S)', '1', 'S/2', 'S', 'Complexity using query']
detail = ""
-# detail += "\n===Speed Test===\n"
+ self.data_list.append(header_view)
if not self.error:
- detail += self.format_table(header=header_list, data_list=[self.listdata])
+ detail += self.format_table(header=header_list, data_list=self.data_list)
return detail
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: