From 6d30e75524ec8079a7b0c61b4ccb3e33e7e4ec8e Mon Sep 17 00:00:00 2001 From: qixinzhi Date: Mon, 9 Oct 2023 05:54:47 +0000 Subject: [PATCH] * Finish count_of_code_commits_in_codebase. --- .../count_of_code_commits_in_codebase.php | 39 +++++++++++++++++++ .../count_of_code_commits_in_codebase.php | 19 +++++++++ module/metric/test/yaml/repo.yaml | 2 + 3 files changed, 60 insertions(+) create mode 100644 module/metric/calc/code/rate/count_of_code_commits_in_codebase.php create mode 100644 module/metric/test/calc/code/rate/count_of_code_commits_in_codebase.php diff --git a/module/metric/calc/code/rate/count_of_code_commits_in_codebase.php b/module/metric/calc/code/rate/count_of_code_commits_in_codebase.php new file mode 100644 index 0000000000..8241f211e7 --- /dev/null +++ b/module/metric/calc/code/rate/count_of_code_commits_in_codebase.php @@ -0,0 +1,39 @@ + + * @package + * @uses func + * @license ZPL(https://zpl.pub/page/zplv12.html) or AGPL(https://www.gnu.org/licenses/agpl-3.0.en.html) + * @Link https://www.zentao.net + */ +class count_of_code_commits_in_codebase extends baseCalc +{ + public $dataset = 'getRepos'; + + public $fieldList = array('id', 'commits'); + + public $result = array(); + + public function calculate($row) + { + $this->result[$row->id] = $row->commits; + } + + public function getResult($options = array()) + { + $records = $this->getRecords(array('codebase', 'value')); + return $this->filterByOptions($records, $options); + } +} diff --git a/module/metric/test/calc/code/rate/count_of_code_commits_in_codebase.php b/module/metric/test/calc/code/rate/count_of_code_commits_in_codebase.php new file mode 100644 index 0000000000..17d19a944e --- /dev/null +++ b/module/metric/test/calc/code/rate/count_of_code_commits_in_codebase.php @@ -0,0 +1,19 @@ +#!/usr/bin/env php +config('repo', true, 4)->gen(100); + +$metric = new metricTest(); +$calc = $metric->calcMetric(__FILE__); + +r($calc->getResult(array('codebase' => '52'))) && p('0:value') && e('10000'); // 测试提交数。 diff --git a/module/metric/test/yaml/repo.yaml b/module/metric/test/yaml/repo.yaml index e9ed662f85..2dd2144a8a 100644 --- a/module/metric/test/yaml/repo.yaml +++ b/module/metric/test/yaml/repo.yaml @@ -30,6 +30,8 @@ fields: range: 1 - field: desc range: 1 + - field: commits + range: 10000{1},30000{1},50000{1} - field: deleted range: 0 ...