summaryrefslogtreecommitdiff
path: root/addons/base_module_quality
diff options
context:
space:
mode:
authormra (Open ERP) <mra@tinyerp.com>2008-12-30 17:31:10 +0530
committermra (Open ERP) <mra@tinyerp.com>2008-12-30 17:31:10 +0530
commit7afacab4f3a5221c68bae5c8b746aacc22ced6a1 (patch)
tree057404b0e4e80d5c127d67661489c3709332abc1 /addons/base_module_quality
parentcc664b259794dde6215dd94ef4ad19c3a6960425 (diff)
Ponderations system on quality module
bzr revid: mra@tinyerp.com-20081230120110-nven6g8rirjgploi
Diffstat (limited to 'addons/base_module_quality')
-rw-r--r--addons/base_module_quality/base_module_quality.py7
-rw-r--r--addons/base_module_quality/method_test/method_test.py3
-rw-r--r--addons/base_module_quality/pylint_test/pylint_test.py3
-rw-r--r--addons/base_module_quality/speed_test/speed_test.py3
-rw-r--r--addons/base_module_quality/wizard/module_quality_check.py12
5 files changed, 23 insertions, 5 deletions
diff --git a/addons/base_module_quality/base_module_quality.py b/addons/base_module_quality/base_module_quality.py
index 1a84f35b67a..fa83381c397 100644
--- a/addons/base_module_quality/base_module_quality.py
+++ b/addons/base_module_quality/base_module_quality.py
@@ -66,6 +66,10 @@ class abstract_quality_check(object):
#False => the module can be uninstalled.
self.bool_installed_only = True
+
+ #This variable is use to make result of test should have more weight (Some tests are more critical than others)
+ self.ponderation = 0.0
+
self.tests = []
self.list_folders = os.listdir(config['addons_path']+'/base_module_quality/')
for item in self.list_folders:
@@ -134,6 +138,9 @@ class abstract_quality_check(object):
res_format['summary'] = data_list[0]
return res_format
+ def add_quatation(self, x, y):
+ return x/y
+
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/base_module_quality/method_test/method_test.py b/addons/base_module_quality/method_test/method_test.py
index 1da2e06ad97..3d7f2650fad 100644
--- a/addons/base_module_quality/method_test/method_test.py
+++ b/addons/base_module_quality/method_test/method_test.py
@@ -38,6 +38,7 @@ class quality_test(base_module_quality.abstract_quality_check):
#
#"""
self.bool_installed_only = True
+ self.ponderation = 1.0
return None
def run_test(self, cr, uid, module_path, module_state):
@@ -84,7 +85,7 @@ class quality_test(base_module_quality.abstract_quality_check):
This test checks if the module classes are raising exception when calling basic methods or no.
-""" + "Score: " + str(self.score) + "/10\n"
+""" #+ "Score: " + str(self.score) + "/10\n"
else:
summary =""" \n===Method Test===:
diff --git a/addons/base_module_quality/pylint_test/pylint_test.py b/addons/base_module_quality/pylint_test/pylint_test.py
index 333f73f50dc..2620fa3e9cc 100644
--- a/addons/base_module_quality/pylint_test/pylint_test.py
+++ b/addons/base_module_quality/pylint_test/pylint_test.py
@@ -38,6 +38,7 @@ class quality_test(base_module_quality.abstract_quality_check):
#
#"""
self.bool_installed_only = False
+ self.ponderation = 1.0
return None
def run_test(self, cr, uid, module_path, module_state):
@@ -82,7 +83,7 @@ class quality_test(base_module_quality.abstract_quality_check):
This test checks if the module satisfy the current coding standard used by OpenERP.
-""" + "Score: " + str(self.score) + "/10\n"
+""" #+ "Score: " + str(self.score) + "/10\n"
else:
summary =""" \n===Pylint Test===:
diff --git a/addons/base_module_quality/speed_test/speed_test.py b/addons/base_module_quality/speed_test/speed_test.py
index 49b10185129..4e6fb43a2b1 100644
--- a/addons/base_module_quality/speed_test/speed_test.py
+++ b/addons/base_module_quality/speed_test/speed_test.py
@@ -42,6 +42,7 @@ class quality_test(base_module_quality.abstract_quality_check):
#
#"""
self.bool_installed_only = True
+ self.ponderation = 1.0
return None
def run_test(self, cr, uid, module_path, module_state):
pool = pooler.get_pool(cr.dbname)
@@ -103,7 +104,7 @@ class quality_test(base_module_quality.abstract_quality_check):
This test checks the speed of the module.
-"""+ "Score: " + str(self.score) + "/10\n"
+"""#+ "Score: " + str(self.score) + "/10\n"
else:
summary =""" \n===Speed Test===:
diff --git a/addons/base_module_quality/wizard/module_quality_check.py b/addons/base_module_quality/wizard/module_quality_check.py
index 8394377b867..3bf863764ac 100644
--- a/addons/base_module_quality/wizard/module_quality_check.py
+++ b/addons/base_module_quality/wizard/module_quality_check.py
@@ -66,6 +66,9 @@ class wiz_quality_check(osv.osv_memory):
list_folders = os.listdir(config['addons_path']+'/base_module_quality/')
module_name = module_data[0].name
abstract_obj = base_module_quality.abstract_quality_check()
+ score_sum = 0.0
+ ponderation_sum = 0.0
+ final_score = ""
for test in abstract_obj.tests:
ad = tools.config['addons_path']
if module_data[0].name == 'base':
@@ -73,8 +76,13 @@ class wiz_quality_check(osv.osv_memory):
module_path = os.path.join(ad, module_data[0].name)
val = test.quality_test()
val.run_test(cr, uid, str(module_path), str(module_data[0].state))
- string_ret += val.result['summary']
- string_detail += val.result['detail']
+ string_ret += val.result['summary'] #summary tab
+ string_ret += "Score: " + str(val.score) + "/10\n" #val.score = val.score * val.ponderation ???
+ string_detail += val.result['detail'] # detail tab
+ score_sum += (val.add_quatation(val.score, 10) * val.ponderation)
+ ponderation_sum += val.ponderation
+ final_score = str(score_sum / ponderation_sum * 100) + "%"
+ string_ret += "\n\nPonderation Result for module:" + final_score
self.string_detail = string_detail
return ""