diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2022-02-18 09:45:46 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2022-02-18 09:45:46 +0000 |
commit | a7b3560714b4d9cc4ab32dffcd1f74a284b93580 (patch) | |
tree | 7452bd5c3545c2fa67a28aa013835fb4fa071baf /spec/spec_helper.rb | |
parent | ee9173579ae56a3dbfe5afe9f9410c65bb327ca7 (diff) | |
download | gitlab-ce-a7b3560714b4d9cc4ab32dffcd1f74a284b93580.tar.gz |
Add latest changes from gitlab-org/gitlab@14-8-stable-eev14.8.0-rc42
Diffstat (limited to 'spec/spec_helper.rb')
-rw-r--r-- | spec/spec_helper.rb | 32 |
1 files changed, 14 insertions, 18 deletions
diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 6d5036365e1..37e9ef1d994 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -112,11 +112,20 @@ RSpec.configure do |config| # falling back to all tests when there is no `:focus` example. config.filter_run focus: true config.run_all_when_everything_filtered = true + end - # Re-run failures locally with `--only-failures` - config.example_status_persistence_file_path = './spec/examples.txt' + # Attempt to troubleshoot https://gitlab.com/gitlab-org/gitlab/-/issues/351531 + config.after do |example| + if example.exception.is_a?(Gitlab::Database::QueryAnalyzers::PreventCrossDatabaseModification::CrossDatabaseModificationAcrossUnsupportedTablesError) + ::CrossDatabaseModification::TransactionStackTrackRecord.log_gitlab_transactions_stack(action: :after_failure, example: example.description) + else + ::CrossDatabaseModification::TransactionStackTrackRecord.log_gitlab_transactions_stack(action: :after_example, example: example.description) + end end + # Re-run failures locally with `--only-failures` + config.example_status_persistence_file_path = ENV.fetch('RSPEC_LAST_RUN_RESULTS_FILE', './spec/examples.txt') + config.define_derived_metadata(file_path: %r{(ee)?/spec/.+_spec\.rb\z}) do |metadata| location = metadata[:location] @@ -184,7 +193,6 @@ RSpec.configure do |config| config.include RedisHelpers config.include Rails.application.routes.url_helpers, type: :routing config.include PolicyHelpers, type: :policy - config.include MemoryUsageHelper config.include ExpectRequestWithStatus, type: :request config.include IdempotentWorkerHelper, type: :worker config.include RailsHelpers @@ -208,7 +216,9 @@ RSpec.configure do |config| config.exceptions_to_hard_fail = [DeprecationToolkitEnv::DeprecationBehaviors::SelectiveRaise::RaiseDisallowedDeprecation] end - if ENV['FLAKY_RSPEC_GENERATE_REPORT'] + require_relative '../tooling/rspec_flaky/config' + + if RspecFlaky::Config.generate_report? require_relative '../tooling/rspec_flaky/listener' config.reporter.register_listener( @@ -242,10 +252,6 @@ RSpec.configure do |config| ::Ci::ApplicationRecord.set_open_transactions_baseline end - config.append_before do - Thread.current[:current_example_group] = ::RSpec.current_example.metadata[:example_group] - end - config.append_after do ApplicationRecord.reset_open_transactions_baseline ::Ci::ApplicationRecord.reset_open_transactions_baseline @@ -288,8 +294,6 @@ RSpec.configure do |config| # See https://gitlab.com/gitlab-org/gitlab/-/issues/33867 stub_feature_flags(file_identifier_hash: false) - stub_feature_flags(diffs_virtual_scrolling: false) - # The following `vue_issues_list` stub can be removed # once the Vue issues page has feature parity with the current Haml page stub_feature_flags(vue_issues_list: false) @@ -462,14 +466,6 @@ RSpec.configure do |config| $stdout = STDOUT end - config.around(:each, stubbing_settings_source: true) do |example| - original_instance = ::Settings.instance_variable_get(:@instance) - - example.run - - ::Settings.instance_variable_set(:@instance, original_instance) - end - config.disable_monkey_patching! end |