Skip to content
代码片段 群组 项目
未验证 提交 76f869ff 编辑于 作者: Andrejs Cunskis's avatar Andrejs Cunskis 提交者: GitLab
浏览文件

Merge branch 'ml-remove-transient-e2e-tests' into 'master'

No related branches found
No related tags found
无相关合并请求
...@@ -183,7 +183,7 @@ include: ...@@ -183,7 +183,7 @@ include:
QA_RSPEC_TAGS: "--tag smoke --tag ~orchestrated --tag ~skip_live_env" QA_RSPEC_TAGS: "--tag smoke --tag ~orchestrated --tag ~skip_live_env"
- if: '$CI_PROJECT_NAME == "omnibus-gitlab" && $PIPELINE_TYPE =~ /TRIGGERED_(CE|EE)_PIPELINE/ && $QA_OMNIBUS_MR_TESTS == "except-smoke"' - if: '$CI_PROJECT_NAME == "omnibus-gitlab" && $PIPELINE_TYPE =~ /TRIGGERED_(CE|EE)_PIPELINE/ && $QA_OMNIBUS_MR_TESTS == "except-smoke"'
variables: variables:
QA_RSPEC_TAGS: "--tag ~smoke --tag ~orchestrated --tag ~skip_live_env --tag ~transient" QA_RSPEC_TAGS: "--tag ~smoke --tag ~orchestrated --tag ~skip_live_env"
# ------------------------------------------ # ------------------------------------------
# Report # Report
......
...@@ -2427,7 +2427,6 @@ Layout/LineLength: ...@@ -2427,7 +2427,6 @@ Layout/LineLength:
- 'qa/qa/specs/features/browser_ui/2_plan/issue/issue_suggestions_spec.rb' - 'qa/qa/specs/features/browser_ui/2_plan/issue/issue_suggestions_spec.rb'
- 'qa/qa/specs/features/browser_ui/2_plan/issue/real_time_assignee_spec.rb' - 'qa/qa/specs/features/browser_ui/2_plan/issue/real_time_assignee_spec.rb'
- 'qa/qa/specs/features/browser_ui/2_plan/related_issues/related_issues_spec.rb' - 'qa/qa/specs/features/browser_ui/2_plan/related_issues/related_issues_spec.rb'
- 'qa/qa/specs/features/browser_ui/2_plan/transient/comment_on_discussion_spec.rb'
- 'qa/qa/specs/features/browser_ui/3_create/merge_request/create_merge_request_via_template_spec.rb' - 'qa/qa/specs/features/browser_ui/3_create/merge_request/create_merge_request_via_template_spec.rb'
- 'qa/qa/specs/features/browser_ui/3_create/merge_request/rebase_merge_request_spec.rb' - 'qa/qa/specs/features/browser_ui/3_create/merge_request/rebase_merge_request_spec.rb'
- 'qa/qa/specs/features/browser_ui/3_create/merge_request/squash_merge_request_spec.rb' - 'qa/qa/specs/features/browser_ui/3_create/merge_request/squash_merge_request_spec.rb'
......
...@@ -54,7 +54,6 @@ This is a partial list of the [RSpec metadata](https://rspec.info/features/3-12/ ...@@ -54,7 +54,6 @@ This is a partial list of the [RSpec metadata](https://rspec.info/features/3-12/
| `:health_check` | The test belongs to the smallest test suite, a subset of smoke. Used to monitor the status and health of the application | | `:health_check` | The test belongs to the smallest test suite, a subset of smoke. Used to monitor the status and health of the application |
| `:smtp` | The test requires a GitLab instance to be configured to use an SMTP server. Tests SMTP notification email delivery from GitLab by using MailHog. | | `:smtp` | The test requires a GitLab instance to be configured to use an SMTP server. Tests SMTP notification email delivery from GitLab by using MailHog. |
| `:testcase` | The link to the test case issue in the [GitLab Project test cases](https://gitlab.com/gitlab-org/gitlab/-/quality/test_cases). | | `:testcase` | The link to the test case issue in the [GitLab Project test cases](https://gitlab.com/gitlab-org/gitlab/-/quality/test_cases). |
| `:transient` | The test tests transient bugs. It is excluded by default. |
| `:ai_gateway` | The test requires a GitLab instance configured to use a local [AI gateway](https://gitlab.com/gitlab-org/modelops/applied-ml/code-suggestions/ai-assist) with a valid cloud license, Duo Pro add-on and Duo Pro seat assigned to the administrator user. Paired with the `:orchestrated` tag. | | `:ai_gateway` | The test requires a GitLab instance configured to use a local [AI gateway](https://gitlab.com/gitlab-org/modelops/applied-ml/code-suggestions/ai-assist) with a valid cloud license, Duo Pro add-on and Duo Pro seat assigned to the administrator user. Paired with the `:orchestrated` tag. |
| `:ai_gateway_no_seat_assigned` | The test requires a GitLab instance configured to use a local [AI gateway](https://gitlab.com/gitlab-org/modelops/applied-ml/code-suggestions/ai-assist) where there is no seat assigned to the administrator user. Paired with the `:orchestrated` tag. | | `:ai_gateway_no_seat_assigned` | The test requires a GitLab instance configured to use a local [AI gateway](https://gitlab.com/gitlab-org/modelops/applied-ml/code-suggestions/ai-assist) where there is no seat assigned to the administrator user. Paired with the `:orchestrated` tag. |
| `:ai_gateway_no_license` | The test requires a GitLab instance configured to use a local [AI gateway](https://gitlab.com/gitlab-org/modelops/applied-ml/code-suggestions/ai-assist) without a valid cloud license. Paired with the `:orchestrated` tag. | | `:ai_gateway_no_license` | The test requires a GitLab instance configured to use a local [AI gateway](https://gitlab.com/gitlab-org/modelops/applied-ml/code-suggestions/ai-assist) without a valid cloud license. Paired with the `:orchestrated` tag. |
......
...@@ -136,15 +136,6 @@ Once you have the license file you can export it as an environment variable and ...@@ -136,15 +136,6 @@ Once you have the license file you can export it as an environment variable and
export QA_EE_LICENSE=$(cat /path/to/gitlab_license) export QA_EE_LICENSE=$(cat /path/to/gitlab_license)
``` ```
### Transient bugs
A suite of tests have been written to test for [transient bugs](https://about.gitlab.com/handbook/engineering/quality/issue-triage/#transient-bugs).
Those tests are tagged `:transient` and therefore can be run via:
```shell
bundle exec rspec --tag transient
```
### Quarantined tests ### Quarantined tests
Tests can be put in quarantine by assigning `:quarantine` metadata. This means they will be skipped unless run with `--tag quarantine`. This can be used for tests that are expected to fail while a fix is in progress (similar to how [`skip` or `pending`](https://relishapp.com/rspec/rspec-core/v/3-8/docs/pending-and-skipped-examples) can be used). Tests can be put in quarantine by assigning `:quarantine` metadata. This means they will be skipped unless run with `--tag quarantine`. This can be used for tests that are expected to fail while a fix is in progress (similar to how [`skip` or `pending`](https://relishapp.com/rspec/rspec-core/v/3-8/docs/pending-and-skipped-examples) can be used).
......
...@@ -60,7 +60,6 @@ ...@@ -60,7 +60,6 @@
"qa/specs/features/browser_ui/2_plan/project_wiki/project_based_list_spec.rb": 36.73259511800006, "qa/specs/features/browser_ui/2_plan/project_wiki/project_based_list_spec.rb": 36.73259511800006,
"qa/specs/features/browser_ui/2_plan/project_wiki/project_based_page_deletion_spec.rb": 44.374364992999745, "qa/specs/features/browser_ui/2_plan/project_wiki/project_based_page_deletion_spec.rb": 44.374364992999745,
"qa/specs/features/browser_ui/2_plan/related_issues/related_issues_spec.rb": 21.243798665999975, "qa/specs/features/browser_ui/2_plan/related_issues/related_issues_spec.rb": 21.243798665999975,
"qa/specs/features/browser_ui/2_plan/transient/comment_on_discussion_spec.rb": 170.97194661700007,
"qa/specs/features/browser_ui/3_create/merge_request/cherry_pick/cherry_pick_a_merge_spec.rb": 30.132673152000052, "qa/specs/features/browser_ui/3_create/merge_request/cherry_pick/cherry_pick_a_merge_spec.rb": 30.132673152000052,
"qa/specs/features/browser_ui/3_create/merge_request/cherry_pick/cherry_pick_commit_spec.rb": 17.00821341599999, "qa/specs/features/browser_ui/3_create/merge_request/cherry_pick/cherry_pick_commit_spec.rb": 17.00821341599999,
"qa/specs/features/browser_ui/3_create/merge_request/create_merge_request_spec.rb": 60.26460518700014, "qa/specs/features/browser_ui/3_create/merge_request/create_merge_request_spec.rb": 60.26460518700014,
...@@ -255,4 +254,4 @@ ...@@ -255,4 +254,4 @@
"qa/specs/features/ee/browser_ui/8_monitor/incident_management/incident_quick_action_spec.rb": 12.953126879000138, "qa/specs/features/ee/browser_ui/8_monitor/incident_management/incident_quick_action_spec.rb": 12.953126879000138,
"qa/specs/features/ee/browser_ui/9_data_stores/group/prevent_forking_outside_group_spec.rb": 39.884931140999925, "qa/specs/features/ee/browser_ui/9_data_stores/group/prevent_forking_outside_group_spec.rb": 39.884931140999925,
"qa/specs/features/ee/browser_ui/9_data_stores/group/share_group_with_group_spec.rb": 24.70188353599997 "qa/specs/features/ee/browser_ui/9_data_stores/group/share_group_with_group_spec.rb": 24.70188353599997
} }
\ No newline at end of file
...@@ -472,10 +472,6 @@ def geo_environment? ...@@ -472,10 +472,6 @@ def geo_environment?
QA::Runtime::Scenario.attributes.include?(:geo_secondary_address) QA::Runtime::Scenario.attributes.include?(:geo_secondary_address)
end end
def transient_trials
ENV.fetch('GITLAB_QA_TRANSIENT_TRIALS', 10).to_i
end
def gitlab_tls_certificate def gitlab_tls_certificate
ENV['GITLAB_TLS_CERTIFICATE'] ENV['GITLAB_TLS_CERTIFICATE']
end end
......
...@@ -12,12 +12,6 @@ module QA ...@@ -12,12 +12,6 @@ module QA
verify_single_event_per_push(repeat: 3) verify_single_event_per_push(repeat: 3)
end end
it 'repeatedly pushes and creates a single push event several times', :transient, testcase: 'https://gitlab.com/gitlab-org/gitlab/-/quality/test_cases/347642' do
verify_single_event_per_push(repeat: Runtime::Env.transient_trials) do |i|
QA::Runtime::Logger.info("Transient bug test action - Trial #{i}")
end
end
def verify_single_event_per_push(repeat:) def verify_single_event_per_push(repeat:)
repeat.times do |i| repeat.times do |i|
yield i if block_given? yield i if block_given?
......
# frozen_string_literal: true
module QA
RSpec.describe 'Plan', :transient, product_group: :project_management do
describe 'Discussion comments transient bugs' do
let(:user1) { Runtime::User::Store.additional_test_user }
let(:my_first_reply) { 'This is my first reply' }
let(:my_second_reply) { "@#{Runtime::Env.gitlab_qa_username_1}" }
let(:my_third_reply) { "@#{Runtime::Env.gitlab_qa_username_1} This is my third reply" }
let(:my_fourth_reply) { '/close' }
before do
Flow::Login.sign_in
end
it 'comments with mention on a discussion in an issue', testcase: 'https://gitlab.com/gitlab-org/gitlab/-/quality/test_cases/347940' do
Runtime::Env.transient_trials.times do |i|
QA::Runtime::Logger.info("Transient bug test action - Trial #{i}")
create(:issue).visit!
Page::Project::Issue::Show.perform do |issue_page|
issue_page.select_all_activities_filter
issue_page.start_discussion('My first discussion')
issue_page.reply_to_discussion(1, my_first_reply)
expect(issue_page).to have_comment(my_first_reply)
issue_page.reply_to_discussion(1, "#{my_second_reply}\n")
expect(issue_page).to have_comment(my_second_reply)
issue_page.reply_to_discussion(1, my_third_reply)
expect(issue_page).to have_comment(my_third_reply)
issue_page.reply_to_discussion(1, my_fourth_reply)
expect(issue_page).to have_system_note('closed')
end
end
end
end
end
end
...@@ -17,7 +17,7 @@ class Runner < Scenario::Template ...@@ -17,7 +17,7 @@ class Runner < Scenario::Template
GitlabEdition.jh? ? File.expand_path('../../.././jh/qa/qa/specs/features', __dir__) : nil GitlabEdition.jh? ? File.expand_path('../../.././jh/qa/qa/specs/features', __dir__) : nil
].compact.freeze ].compact.freeze
DEFAULT_STD_ARGS = [$stderr, $stdout].freeze DEFAULT_STD_ARGS = [$stderr, $stdout].freeze
DEFAULT_SKIPPED_TAGS = %w[orchestrated transient].freeze DEFAULT_SKIPPED_TAGS = %w[orchestrated].freeze
def initialize def initialize
@tty = false @tty = false
......
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
end end
before do before do
stub_const('DEFAULT_SKIPPED_TAGS', %w[--tag ~orchestrated --tag ~transient].freeze) stub_const('DEFAULT_SKIPPED_TAGS', %w[--tag ~orchestrated].freeze)
end end
describe '#perform' do describe '#perform' do
...@@ -57,7 +57,7 @@ ...@@ -57,7 +57,7 @@
it 'sets the `--dry-run` flag and minimal arguments' do it 'sets the `--dry-run` flag and minimal arguments' do
expect_rspec_runner_arguments( expect_rspec_runner_arguments(
['--dry-run', '--tag', '~orchestrated', '--tag', '~transient', '--tag', '~geo', *described_class::DEFAULT_TEST_PATH_ARGS], ['--dry-run', '--tag', '~orchestrated', '--tag', '~geo', *described_class::DEFAULT_TEST_PATH_ARGS],
[err, out] [err, out]
) )
...@@ -136,7 +136,7 @@ ...@@ -136,7 +136,7 @@
it 'passes the given tests path and excludes the default skipped, and geo tags' do it 'passes the given tests path and excludes the default skipped, and geo tags' do
expect_rspec_runner_arguments( expect_rspec_runner_arguments(
['--tag', '~orchestrated', '--tag', '~transient', '--tag', '~geo', ['--tag', '~orchestrated', '--tag', '~geo',
'qa/specs/features/foo', 'qa/specs/features/foo',
'--format', 'documentation', '--format', 'QA::Support::JsonFormatter', '--format', 'documentation', '--format', 'QA::Support::JsonFormatter',
'--out', "tmp/rspec-#{ENV['CI_JOB_ID'] || 'local'}-retried-false.json", '--out', "tmp/rspec-#{ENV['CI_JOB_ID'] || 'local'}-retried-false.json",
...@@ -150,7 +150,7 @@ ...@@ -150,7 +150,7 @@
context 'when "--tag smoke" and "qa/specs/features/foo" are set as options' do context 'when "--tag smoke" and "qa/specs/features/foo" are set as options' do
subject { described_class.new.tap { |runner| runner.options = %w[--tag smoke qa/specs/features/foo] } } subject { described_class.new.tap { |runner| runner.options = %w[--tag smoke qa/specs/features/foo] } }
it 'focuses on the given tag and includes the path without excluding the orchestrated or transient tags' do it 'focuses on the given tag and includes the path without excluding the orchestrated tag' do
expect_rspec_runner_arguments( expect_rspec_runner_arguments(
['--tag', '~geo', '--tag', 'smoke', ['--tag', '~geo', '--tag', 'smoke',
'qa/specs/features/foo', 'qa/specs/features/foo',
......
0% 加载中 .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册