Skip to content
代码片段 群组 项目
提交 d079cd00 编辑于 作者: Ramya Authappan's avatar Ramya Authappan
浏览文件

Merge branch 'acunskis-metrics-devops-stage' into 'master'

E2E: Add devops stage tag to exported test metrics

See merge request gitlab-org/gitlab!71392
No related branches found
No related tags found
无相关合并请求
......@@ -57,19 +57,22 @@ def influxdb_token
# @param [RSpec::Core::Example] example
# @return [Hash]
def test_stats(example)
file_path = example.metadata[:file_path].gsub('./qa/specs/features', '')
{
name: 'test-stats',
time: time,
tags: {
name: example.full_description,
file_path: example.metadata[:file_path].gsub('./qa/specs/features', ''),
file_path: file_path,
status: example.execution_result.status,
reliable: example.metadata.key?(:reliable).to_s,
quarantined: example.metadata.key?(:quarantine).to_s,
retried: ((example.metadata[:retry_attempts] || 0) > 0).to_s,
job_name: job_name,
merge_request: merge_request,
run_type: env('QA_RUN_TYPE') || run_type
run_type: env('QA_RUN_TYPE') || run_type,
stage: devops_stage(file_path)
},
fields: {
id: example.id,
......@@ -150,6 +153,14 @@ def env(name)
ENV[name]
end
# Get spec devops stage
#
# @param [String] location
# @return [String, nil]
def devops_stage(file_path)
file_path.match(%r{(\d{1,2}_\w+)/})&.captures&.first
end
end
end
end
......
......@@ -18,6 +18,8 @@
let(:quarantined) { 'false' }
let(:influx_client) { instance_double('InfluxDB2::Client', create_write_api: influx_write_api) }
let(:influx_write_api) { instance_double('InfluxDB2::WriteApi', write: nil) }
let(:stage) { '1_manage' }
let(:file_path) { "./qa/specs/features/#{stage}/subfolder/some_spec.rb" }
let(:influx_client_args) do
{
......@@ -34,14 +36,15 @@
time: DateTime.strptime(ci_timestamp).to_time,
tags: {
name: 'stats export spec',
file_path: './spec/support/formatters/test_stats_formatter_spec.rb',
file_path: file_path.gsub('./qa/specs/features', ''),
status: :passed,
reliable: reliable,
quarantined: quarantined,
retried: "false",
job_name: "test-job",
merge_request: "false",
run_type: run_type
run_type: run_type,
stage: stage
},
fields: {
id: './spec/support/formatters/test_stats_formatter_spec.rb[1:1]',
......@@ -57,7 +60,9 @@
def run_spec(&spec)
spec ||= -> { it('spec') {} }
describe_successfully('stats export', &spec)
describe_successfully('stats export', &spec).tap do |example_group|
example_group.examples.each { |ex| ex.metadata[:file_path] = file_path }
end
send_stop_notification
end
......
0% 加载中 .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册