diff options
| author | mra (Open ERP) <mra@tinyerp.com> | 2008-12-30 17:31:10 +0530 |
|---|---|---|
| committer | mra (Open ERP) <mra@tinyerp.com> | 2008-12-30 17:31:10 +0530 |
| commit | 7afacab4f3a5221c68bae5c8b746aacc22ced6a1 (patch) | |
| tree | 057404b0e4e80d5c127d67661489c3709332abc1 /addons/base_module_quality | |
| parent | cc664b259794dde6215dd94ef4ad19c3a6960425 (diff) | |
Ponderations system on quality module
bzr revid: mra@tinyerp.com-20081230120110-nven6g8rirjgploi
Diffstat (limited to 'addons/base_module_quality')
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 "" |
