Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/qa
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2021-09-30 09:09:27 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2021-09-30 09:09:27 +0300
commitb920d2a9831056cdf907cf71fd25d94f0aaf1e6c (patch)
tree37d937a61754aa5072fd607fbd2aa8ed00225d6a /qa
parent3778629470659207d15cbc8b7064b0eb3caf09ef (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'qa')
-rw-r--r--qa/qa/support/formatters/test_stats_formatter.rb15
-rw-r--r--qa/spec/support/formatters/test_stats_formatter_spec.rb11
2 files changed, 21 insertions, 5 deletions
diff --git a/qa/qa/support/formatters/test_stats_formatter.rb b/qa/qa/support/formatters/test_stats_formatter.rb
index 0f76a924b10..5c0daca3b06 100644
--- a/qa/qa/support/formatters/test_stats_formatter.rb
+++ b/qa/qa/support/formatters/test_stats_formatter.rb
@@ -57,19 +57,22 @@ module QA
# @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 @@ module QA
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
diff --git a/qa/spec/support/formatters/test_stats_formatter_spec.rb b/qa/spec/support/formatters/test_stats_formatter_spec.rb
index fec7ec1c7c0..a14452debaa 100644
--- a/qa/spec/support/formatters/test_stats_formatter_spec.rb
+++ b/qa/spec/support/formatters/test_stats_formatter_spec.rb
@@ -18,6 +18,8 @@ describe QA::Support::Formatters::TestStatsFormatter do
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 @@ describe QA::Support::Formatters::TestStatsFormatter do
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 @@ describe QA::Support::Formatters::TestStatsFormatter do
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