On Wed, Mar 24, 2021 at 04:51:30PM +0800, Luan Shengde wrote:
On Wed, Mar 24, 2021 at 02:39:34PM +0800, Li Yuanchao wrote:
Query jobs by conditions such as group id or suite, and count the number of passed cases and failed cases.
output is like: { "kezhiming": { "nr_all": $nr_all, "nr_pass": $nr_pass, "nr_fail": $nr_fail }, "chenqun": { "nr_all": $nr_all, "nr_pass": $nr_pass, "nr_fail": $nr_fail }, ... }
Signed-off-by: Li Yuanchao lyc163mail@163.com
src/lib/web_backend.rb | 68 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+)
diff --git a/src/lib/web_backend.rb b/src/lib/web_backend.rb index 89c0f3c..04bccdb 100644 --- a/src/lib/web_backend.rb +++ b/src/lib/web_backend.rb @@ -121,6 +121,8 @@ end
def get_dimension_conditions(params) dimension = params.key?(:dimension) ? [params.delete(:dimension)] : []
- dimension = params.key?(:GROUP_BY) ? [params.delete(:GROUP_BY)] : [] if dimension.empty?
- conditions = {} FIELDS.each do |f| v = params[f]
@@ -548,3 +550,69 @@ def new_refs_statistics(params) end [200, headers.merge('Access-Control-Allow-Origin' => '*'), body] end
+def single_count(stats)
- fail_count = 0
- pass_count = 0
- single_nr_fail = 0
- single_nr_pass = 0
- stats.each do |stat, value|
- fail_count += 1 if stat.match(/.fail$/i)
- pass_count += 1 if stat.match(/.pass$/i)
- single_nr_fail = value if stat.match(/.nr_fail$/i)
- single_nr_pass = value if stat.match(/.nr_pass$/i)
- end
- fail_count = single_nr_fail.zero? ? fail_count : single_nr_fail
- pass_count = single_nr_pass.zero? ? pass_count : single_nr_pass
- [fail_count, pass_count, fail_count + pass_count]
+end
+def count_stats(job_list)
- nr_fail = 0
- nr_pass = 0
- nr_all = 0
you may directly define a hash here
ok
Thanks, Yuanchao