broken master in rspec unit pg 20/20: super: no superclass method commit_email_hostname' for #<ApplicationSetting:0x00005640736aa6a8>
e.g. https://gitlab.com/gitlab-org/gitlab-ce/-/jobs/241326129
It seems lots of specs in the run fail with the same error, which looks like:
55) AuthorizedProjectsWorker#perform refreshes user's authorized projects
Failure/Error: super.presence || self.class.default_commit_email_hostname
NoMethodError:
super: no superclass method `commit_email_hostname' for #<ApplicationSetting:0x0000558a6d4255c0>
# ./vendor/ruby/2.6.0/gems/activemodel-5.1.7/lib/active_model/attribute_methods.rb:429:in `method_missing'
# ./app/models/application_setting_implementation.rb:164:in `commit_email_hostname'
# ./lib/gitlab/private_commit_email.rb:26:in `for_user'
# ./app/models/user.rb:681:in `private_commit_email'
# ./app/models/user.rb:1077:in `all_emails'
# ./app/models/user.rb:641:in `owns_notification_email'
# ./vendor/ruby/2.6.0/gems/activesupport-5.1.7/lib/active_support/callbacks.rb:413:in `block in make_lambda'
# ./vendor/ruby/2.6.0/gems/activesupport-5.1.7/lib/active_support/callbacks.rb:178:in `block (2 levels) in halting_and_conditional'
# ./vendor/ruby/2.6.0/gems/activesupport-5.1.7/lib/active_support/callbacks.rb:601:in `block (2 levels) in default_terminator'
# ./vendor/ruby/2.6.0/gems/activesupport-5.1.7/lib/active_support/callbacks.rb:600:in `catch'
# ./vendor/ruby/2.6.0/gems/activesupport-5.1.7/lib/active_support/callbacks.rb:600:in `block in default_terminator'
# ./vendor/ruby/2.6.0/gems/activesupport-5.1.7/lib/active_support/callbacks.rb:179:in `block in halting_and_conditional'
# ./vendor/ruby/2.6.0/gems/activesupport-5.1.7/lib/active_support/callbacks.rb:507:in `block in invoke_before'
# ./vendor/ruby/2.6.0/gems/activesupport-5.1.7/lib/active_support/callbacks.rb:507:in `each'
# ./vendor/ruby/2.6.0/gems/activesupport-5.1.7/lib/active_support/callbacks.rb:507:in `invoke_before'
# ./vendor/ruby/2.6.0/gems/activesupport-5.1.7/lib/active_support/callbacks.rb:130:in `run_callbacks'
# ./vendor/ruby/2.6.0/gems/activesupport-5.1.7/lib/active_support/callbacks.rb:827:in `_run_validate_callbacks'
# ./vendor/ruby/2.6.0/gems/activemodel-5.1.7/lib/active_model/validations.rb:405:in `run_validations!'
# ./vendor/ruby/2.6.0/gems/activemodel-5.1.7/lib/active_model/validations/callbacks.rb:114:in `block in run_validations!'
# ./vendor/ruby/2.6.0/gems/activesupport-5.1.7/lib/active_support/callbacks.rb:108:in `block in run_callbacks'
# ./vendor/ruby/2.6.0/gems/state_machines-activemodel-0.5.1/lib/state_machines/integrations/active_model.rb:400:in `block in around_validation'
# ./vendor/ruby/2.6.0/gems/state_machines-0.5.0/lib/state_machines/transition_collection.rb:150:in `block in run_actions'
# ./vendor/ruby/2.6.0/gems/state_machines-0.5.0/lib/state_machines/transition_collection.rb:170:in `catch_exceptions'
# ./vendor/ruby/2.6.0/gems/state_machines-0.5.0/lib/state_machines/transition_collection.rb:148:in `run_actions'
# ./vendor/ruby/2.6.0/gems/state_machines-0.5.0/lib/state_machines/transition_collection.rb:133:in `run_callbacks'
# ./vendor/ruby/2.6.0/gems/state_machines-0.5.0/lib/state_machines/transition_collection.rb:212:in `run_callbacks'
# ./vendor/ruby/2.6.0/gems/state_machines-0.5.0/lib/state_machines/transition_collection.rb:63:in `block (2 levels) in perform'
# ./vendor/ruby/2.6.0/gems/state_machines-0.5.0/lib/state_machines/transition_collection.rb:63:in `catch'
# ./vendor/ruby/2.6.0/gems/state_machines-0.5.0/lib/state_machines/transition_collection.rb:63:in `block in perform'
# ./vendor/ruby/2.6.0/gems/state_machines-0.5.0/lib/state_machines/transition_collection.rb:186:in `within_transaction'
# ./vendor/ruby/2.6.0/gems/state_machines-0.5.0/lib/state_machines/transition_collection.rb:62:in `perform'
# ./vendor/ruby/2.6.0/gems/state_machines-activemodel-0.5.1/lib/state_machines/integrations/active_model.rb:400:in `around_validation'
# ./vendor/ruby/2.6.0/gems/activesupport-5.1.7/lib/active_support/callbacks.rb:117:in `block in run_callbacks'
# ./vendor/ruby/2.6.0/gems/activesupport-5.1.7/lib/active_support/callbacks.rb:135:in `run_callbacks'
# ./vendor/ruby/2.6.0/gems/activesupport-5.1.7/lib/active_support/callbacks.rb:827:in `_run_validation_callbacks'
# ./vendor/ruby/2.6.0/gems/activemodel-5.1.7/lib/active_model/validations/callbacks.rb:114:in `run_validations!'
# ./vendor/ruby/2.6.0/gems/activemodel-5.1.7/lib/active_model/validations.rb:335:in `valid?'
# ./vendor/ruby/2.6.0/gems/activerecord-5.1.7/lib/active_record/validations.rb:65:in `valid?'
# ./vendor/ruby/2.6.0/gems/activerecord-5.1.7/lib/active_record/validations.rb:82:in `perform_validations'
# ./vendor/ruby/2.6.0/gems/activerecord-5.1.7/lib/active_record/validations.rb:50:in `save!'
# ./vendor/ruby/2.6.0/gems/activerecord-5.1.7/lib/active_record/attribute_methods/dirty.rb:43:in `save!'
# ./vendor/ruby/2.6.0/gems/activerecord-5.1.7/lib/active_record/transactions.rb:313:in `block in save!'
# ./vendor/ruby/2.6.0/gems/activerecord-5.1.7/lib/active_record/transactions.rb:384:in `block in with_transaction_returning_status'
# ./vendor/ruby/2.6.0/gems/activerecord-5.1.7/lib/active_record/connection_adapters/abstract/database_statements.rb:235:in `block in transaction'
# ./vendor/ruby/2.6.0/gems/activerecord-5.1.7/lib/active_record/connection_adapters/abstract/transaction.rb:194:in `block in within_new_transaction'
# /usr/local/lib/ruby/2.6.0/monitor.rb:230:in `mon_synchronize'
# ./vendor/ruby/2.6.0/gems/activerecord-5.1.7/lib/active_record/connection_adapters/abstract/transaction.rb:191:in `within_new_transaction'
# ./vendor/ruby/2.6.0/gems/activerecord-5.1.7/lib/active_record/connection_adapters/abstract/database_statements.rb:235:in `transaction'
# ./vendor/ruby/2.6.0/gems/activerecord-5.1.7/lib/active_record/transactions.rb:210:in `transaction'
# ./vendor/ruby/2.6.0/gems/activerecord-5.1.7/lib/active_record/transactions.rb:381:in `with_transaction_returning_status'
# ./vendor/ruby/2.6.0/gems/activerecord-5.1.7/lib/active_record/transactions.rb:313:in `save!'
# ./vendor/ruby/2.6.0/gems/activerecord-5.1.7/lib/active_record/suppressor.rb:46:in `save!'
# ./vendor/ruby/2.6.0/gems/state_machines-activerecord-0.5.1/lib/state_machines/integrations/active_record.rb:513:in `block in save!'
# ./vendor/ruby/2.6.0/gems/state_machines-activerecord-0.5.1/lib/state_machines/integrations/active_record.rb:528:in `block in around_save'
# ./vendor/ruby/2.6.0/gems/state_machines-0.5.0/lib/state_machines/transition_collection.rb:150:in `block in run_actions'
# ./vendor/ruby/2.6.0/gems/state_machines-0.5.0/lib/state_machines/transition_collection.rb:170:in `catch_exceptions'
# ./vendor/ruby/2.6.0/gems/state_machines-0.5.0/lib/state_machines/transition_collection.rb:148:in `run_actions'
# ./vendor/ruby/2.6.0/gems/state_machines-0.5.0/lib/state_machines/transition_collection.rb:133:in `run_callbacks'
# ./vendor/ruby/2.6.0/gems/state_machines-0.5.0/lib/state_machines/transition_collection.rb:212:in `run_callbacks'
# ./vendor/ruby/2.6.0/gems/state_machines-0.5.0/lib/state_machines/transition_collection.rb:63:in `block (2 levels) in perform'
# ./vendor/ruby/2.6.0/gems/state_machines-0.5.0/lib/state_machines/transition_collection.rb:63:in `catch'
# ./vendor/ruby/2.6.0/gems/state_machines-0.5.0/lib/state_machines/transition_collection.rb:63:in `block in perform'
# ./vendor/ruby/2.6.0/gems/state_machines-0.5.0/lib/state_machines/transition_collection.rb:186:in `within_transaction'
# ./vendor/ruby/2.6.0/gems/state_machines-0.5.0/lib/state_machines/transition_collection.rb:62:in `perform'
# ./vendor/ruby/2.6.0/gems/state_machines-activerecord-0.5.1/lib/state_machines/integrations/active_record.rb:528:in `around_save'
# ./vendor/ruby/2.6.0/gems/state_machines-activerecord-0.5.1/lib/state_machines/integrations/active_record.rb:513:in `save!'
# ./vendor/ruby/2.6.0/gems/factory_bot-4.8.2/lib/factory_bot/configuration.rb:18:in `block in initialize'
# ./vendor/ruby/2.6.0/gems/factory_bot-4.8.2/lib/factory_bot/evaluation.rb:18:in `create'
# ./vendor/ruby/2.6.0/gems/factory_bot-4.8.2/lib/factory_bot/strategy/create.rb:12:in `block in result'
# ./vendor/ruby/2.6.0/gems/factory_bot-4.8.2/lib/factory_bot/strategy/create.rb:9:in `tap'
# ./vendor/ruby/2.6.0/gems/factory_bot-4.8.2/lib/factory_bot/strategy/create.rb:9:in `result'
# ./vendor/ruby/2.6.0/gems/factory_bot-4.8.2/lib/factory_bot/factory.rb:43:in `run'
# ./vendor/ruby/2.6.0/gems/factory_bot-4.8.2/lib/factory_bot/factory_runner.rb:29:in `block in run'
# ./vendor/ruby/2.6.0/gems/activesupport-5.1.7/lib/active_support/notifications.rb:168:in `instrument'
# ./vendor/ruby/2.6.0/gems/factory_bot-4.8.2/lib/factory_bot/factory_runner.rb:28:in `run'
# ./vendor/ruby/2.6.0/gems/factory_bot-4.8.2/lib/factory_bot/strategy_syntax_method_registrar.rb:20:in `block in define_singular_strategy_method'
# ./spec/workers/authorized_projects_worker_spec.rb:7:in `block (3 levels) in <top (required)>'
# ./vendor/ruby/2.6.0/gems/rspec-core-3.7.1/lib/rspec/core/memoized_helpers.rb:298:in `block (2 levels) in let'
# ./vendor/ruby/2.6.0/gems/rspec-core-3.7.1/lib/rspec/core/memoized_helpers.rb:157:in `block (3 levels) in fetch_or_store'
# ./vendor/ruby/2.6.0/gems/rspec-core-3.7.1/lib/rspec/core/memoized_helpers.rb:157:in `fetch'
# ./vendor/ruby/2.6.0/gems/rspec-core-3.7.1/lib/rspec/core/memoized_helpers.rb:157:in `block (2 levels) in fetch_or_store'
# ./vendor/ruby/2.6.0/gems/rspec-support-3.7.1/lib/rspec/support/reentrant_mutex.rb:23:in `synchronize'
# ./vendor/ruby/2.6.0/gems/rspec-core-3.7.1/lib/rspec/core/memoized_helpers.rb:156:in `block in fetch_or_store'
# ./vendor/ruby/2.6.0/gems/rspec-core-3.7.1/lib/rspec/core/memoized_helpers.rb:155:in `fetch'
# ./vendor/ruby/2.6.0/gems/rspec-core-3.7.1/lib/rspec/core/memoized_helpers.rb:155:in `fetch_or_store'
# ./vendor/ruby/2.6.0/gems/rspec-core-3.7.1/lib/rspec/core/memoized_helpers.rb:298:in `block in let'
# ./spec/workers/authorized_projects_worker_spec.rb:14:in `block (3 levels) in <top (required)>'
# ./vendor/ruby/2.6.0/gems/rspec-core-3.7.1/lib/rspec/core/example.rb:254:in `instance_exec'
# ./vendor/ruby/2.6.0/gems/rspec-core-3.7.1/lib/rspec/core/example.rb:254:in `block in run'
# ./vendor/ruby/2.6.0/gems/rspec-core-3.7.1/lib/rspec/core/example.rb:500:in `block in with_around_and_singleton_context_hooks'
# ./vendor/ruby/2.6.0/gems/rspec-core-3.7.1/lib/rspec/core/example.rb:457:in `block in with_around_example_hooks'
# ./vendor/ruby/2.6.0/gems/rspec-core-3.7.1/lib/rspec/core/hooks.rb:466:in `block in run'
# ./vendor/ruby/2.6.0/gems/rspec-core-3.7.1/lib/rspec/core/hooks.rb:606:in `block in run_around_example_hooks_for'
# ./vendor/ruby/2.6.0/gems/rspec-core-3.7.1/lib/rspec/core/example.rb:342:in `call'
# ./vendor/ruby/2.6.0/gems/rspec-rails-3.7.2/lib/rspec/rails/adapters.rb:127:in `block (2 levels) in <module:MinitestLifecycleAdapter>'
# ./vendor/ruby/2.6.0/gems/rspec-core-3.7.1/lib/rspec/core/example.rb:447:in `instance_exec'
# ./vendor/ruby/2.6.0/gems/rspec-core-3.7.1/lib/rspec/core/example.rb:447:in `instance_exec'
# ./vendor/ruby/2.6.0/gems/rspec-core-3.7.1/lib/rspec/core/hooks.rb:375:in `execute_with'
# ./vendor/ruby/2.6.0/gems/rspec-core-3.7.1/lib/rspec/core/hooks.rb:608:in `block (2 levels) in run_around_example_hooks_for'
# ./vendor/ruby/2.6.0/gems/rspec-core-3.7.1/lib/rspec/core/example.rb:342:in `call'
# ./vendor/ruby/2.6.0/gems/rspec-retry-0.6.1/lib/rspec/retry.rb:123:in `block in run'
# ./vendor/ruby/2.6.0/gems/rspec-retry-0.6.1/lib/rspec/retry.rb:110:in `loop'
# ./vendor/ruby/2.6.0/gems/rspec-retry-0.6.1/lib/rspec/retry.rb:110:in `run'
# ./vendor/ruby/2.6.0/gems/rspec-retry-0.6.1/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry'
# ./vendor/ruby/2.6.0/gems/rspec-retry-0.6.1/lib/rspec/retry.rb:37:in `block (2 levels) in setup'
# ./vendor/ruby/2.6.0/gems/rspec-core-3.7.1/lib/rspec/core/example.rb:447:in `instance_exec'
# ./vendor/ruby/2.6.0/gems/rspec-core-3.7.1/lib/rspec/core/example.rb:447:in `instance_exec'
# ./vendor/ruby/2.6.0/gems/rspec-core-3.7.1/lib/rspec/core/hooks.rb:375:in `execute_with'
# ./vendor/ruby/2.6.0/gems/rspec-core-3.7.1/lib/rspec/core/hooks.rb:608:in `block (2 levels) in run_around_example_hooks_for'
# ./vendor/ruby/2.6.0/gems/rspec-core-3.7.1/lib/rspec/core/example.rb:342:in `call'
# ./vendor/ruby/2.6.0/gems/rspec-core-3.7.1/lib/rspec/core/hooks.rb:609:in `run_around_example_hooks_for'
# ./vendor/ruby/2.6.0/gems/rspec-core-3.7.1/lib/rspec/core/hooks.rb:466:in `run'
# ./vendor/ruby/2.6.0/gems/rspec-core-3.7.1/lib/rspec/core/example.rb:457:in `with_around_example_hooks'
# ./vendor/ruby/2.6.0/gems/rspec-core-3.7.1/lib/rspec/core/example.rb:500:in `with_around_and_singleton_context_hooks'
# ./vendor/ruby/2.6.0/gems/rspec-core-3.7.1/lib/rspec/core/example.rb:251:in `run'
# ./vendor/ruby/2.6.0/gems/rspec-core-3.7.1/lib/rspec/core/example_group.rb:628:in `block in run_examples'
# ./vendor/ruby/2.6.0/gems/rspec-core-3.7.1/lib/rspec/core/example_group.rb:624:in `map'
# ./vendor/ruby/2.6.0/gems/rspec-core-3.7.1/lib/rspec/core/example_group.rb:624:in `run_examples'
# ./vendor/ruby/2.6.0/gems/rspec-core-3.7.1/lib/rspec/core/example_group.rb:590:in `run'
# ./vendor/ruby/2.6.0/gems/rspec-core-3.7.1/lib/rspec/core/example_group.rb:591:in `block in run'
# ./vendor/ruby/2.6.0/gems/rspec-core-3.7.1/lib/rspec/core/example_group.rb:591:in `map'
# ./vendor/ruby/2.6.0/gems/rspec-core-3.7.1/lib/rspec/core/example_group.rb:591:in `run'
# ./vendor/ruby/2.6.0/gems/rspec-core-3.7.1/lib/rspec/core/runner.rb:118:in `block (3 levels) in run_specs'
# ./vendor/ruby/2.6.0/gems/rspec-core-3.7.1/lib/rspec/core/runner.rb:118:in `map'
# ./vendor/ruby/2.6.0/gems/rspec-core-3.7.1/lib/rspec/core/runner.rb:118:in `block (2 levels) in run_specs'
# ./vendor/ruby/2.6.0/gems/rspec-core-3.7.1/lib/rspec/core/configuration.rb:1926:in `with_suite_hooks'
# ./vendor/ruby/2.6.0/gems/rspec-core-3.7.1/lib/rspec/core/runner.rb:113:in `block in run_specs'
# ./vendor/ruby/2.6.0/gems/rspec-core-3.7.1/lib/rspec/core/reporter.rb:79:in `report'
# ./vendor/ruby/2.6.0/gems/rspec-core-3.7.1/lib/rspec/core/runner.rb:112:in `run_specs'
# ./vendor/ruby/2.6.0/gems/rspec-core-3.7.1/lib/rspec/core/runner.rb:87:in `run'
# ./vendor/ruby/2.6.0/gems/rspec-core-3.7.1/lib/rspec/core/runner.rb:71:in `run'
# ./vendor/ruby/2.6.0/gems/rspec-core-3.7.1/lib/rspec/core/runner.rb:45:in `invoke'
# ./vendor/ruby/2.6.0/gems/rspec-core-3.7.1/exe/rspec:4:in `<top (required)>'
# ./vendor/ruby/2.6.0/bin/rspec:23:in `load'
# ./vendor/ruby/2.6.0/bin/rspec:23:in `<top (required)>'
# /usr/local/lib/ruby/2.6.0/bundler/cli/exec.rb:74:in `load'
# /usr/local/lib/ruby/2.6.0/bundler/cli/exec.rb:74:in `kernel_load'
# /usr/local/lib/ruby/2.6.0/bundler/cli/exec.rb:28:in `run'
# /usr/local/lib/ruby/2.6.0/bundler/cli.rb:463:in `exec'
# /usr/local/lib/ruby/2.6.0/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
# /usr/local/lib/ruby/2.6.0/bundler/vendor/thor/lib/thor/invocation.rb:126:in `invoke_command'
# /usr/local/lib/ruby/2.6.0/bundler/vendor/thor/lib/thor.rb:387:in `dispatch'
# /usr/local/lib/ruby/2.6.0/bundler/cli.rb:27:in `dispatch'
# /usr/local/lib/ruby/2.6.0/bundler/vendor/thor/lib/thor/base.rb:466:in `start'
# /usr/local/lib/ruby/2.6.0/bundler/cli.rb:18:in `start'
# /usr/local/lib/ruby/gems/2.6.0/gems/bundler-1.17.2/exe/bundle:30:in `block in <top (required)>'
# /usr/local/lib/ruby/2.6.0/bundler/friendly_errors.rb:124:in `with_friendly_errors'
# /usr/local/lib/ruby/gems/2.6.0/gems/bundler-1.17.2/exe/bundle:22:in `<top (required)>'
# /usr/local/bin/bundle:23:in `load'
# /usr/local/bin/bundle:23:in `<main>'
Finished in 15 minutes 25 seconds (files took 16.87 seconds to load)
2524 examples, 55 failures, 1 error occurred outside of examples
Failed examples:
rspec ./spec/lib/gitlab/phabricator_import/cache/map_spec.rb:9 # Gitlab::PhabricatorImport::Cache::Map#get_gitlab_model returns nil if there was nothing cached for the phabricator id
rspec ./spec/lib/gitlab/phabricator_import/cache/map_spec.rb:13 # Gitlab::PhabricatorImport::Cache::Map#get_gitlab_model returns the object if it was set in redis
rspec ./spec/lib/gitlab/phabricator_import/cache/map_spec.rb:20 # Gitlab::PhabricatorImport::Cache::Map#get_gitlab_model extends the TTL for the cache key
rspec ./spec/lib/gitlab/phabricator_import/cache/map_spec.rb:38 # Gitlab::PhabricatorImport::Cache::Map#set_gitlab_model sets the class and id in redis with a ttl
rspec ./spec/lib/gitlab/ci/pipeline/chain/create_spec.rb:25 # Gitlab::Ci::Pipeline::Chain::Create when pipeline is ready to be saved saves a pipeline
rspec ./spec/lib/gitlab/ci/pipeline/chain/create_spec.rb:29 # Gitlab::Ci::Pipeline::Chain::Create when pipeline is ready to be saved does not break the chain
rspec ./spec/lib/gitlab/ci/pipeline/chain/create_spec.rb:33 # Gitlab::Ci::Pipeline::Chain::Create when pipeline is ready to be saved creates stages
rspec ./spec/lib/gitlab/ci/pipeline/chain/create_spec.rb:48 # Gitlab::Ci::Pipeline::Chain::Create when pipeline has validation errors breaks the chain
rspec ./spec/lib/gitlab/ci/pipeline/chain/create_spec.rb:52 # Gitlab::Ci::Pipeline::Chain::Create when pipeline has validation errors appends validation error
rspec ./spec/lib/gitlab/ci/pipeline/chain/sequence_spec.rb:22 # Gitlab::Ci::Pipeline::Chain::Sequence when one of steps breaks the chain does not process the second step
rspec ./spec/lib/gitlab/ci/pipeline/chain/sequence_spec.rb:30 # Gitlab::Ci::Pipeline::Chain::Sequence when one of steps breaks the chain returns a pipeline object
rspec ./spec/lib/gitlab/ci/pipeline/chain/sequence_spec.rb:42 # Gitlab::Ci::Pipeline::Chain::Sequence when all chains are executed correctly iterates through entire sequence
rspec ./spec/lib/gitlab/ci/pipeline/chain/sequence_spec.rb:51 # Gitlab::Ci::Pipeline::Chain::Sequence when all chains are executed correctly returns a pipeline object
rspec ./spec/models/concerns/participable_spec.rb:22 # Participable#participants returns the list of participants
rspec ./spec/models/concerns/participable_spec.rb:52 # Participable#participants supports attributes returning another Participable
rspec ./spec/models/concerns/participable_spec.rb:72 # Participable#participants when using a Proc as an attribute calls the supplied Proc
rspec ./spec/lib/quality/seeders/issues_spec.rb:11 # Quality::Seeders::Issues#seed seeds issues
rspec ./spec/models/diff_viewer/server_side_spec.rb:19 # DiffViewer::ServerSide#prepare! loads all diff file data
rspec ./spec/models/diff_viewer/server_side_spec.rb:32 # DiffViewer::ServerSide#render_error when the diff file is stored externally return :server_side_but_stored_externally
rspec ./spec/models/diff_viewer/server_side_spec.rb:44 # DiffViewer::ServerSide#render_error_reason when the diff file is stored externally returns error message if stored in LFS
rspec ./spec/models/diff_viewer/server_side_spec.rb:50 # DiffViewer::ServerSide#render_error_reason when the diff file is stored externally returns error message if stored externally
rspec ./spec/lib/gitlab/ci/config/external/file/local_spec.rb:18 # Gitlab::Ci::Config::External::File::Local#matching? when a local is specified returns true
rspec ./spec/lib/gitlab/ci/config/external/file/local_spec.rb:26 # Gitlab::Ci::Config::External::File::Local#matching? with a missing local returns false
rspec ./spec/lib/gitlab/ci/config/external/file/local_spec.rb:34 # Gitlab::Ci::Config::External::File::Local#matching? with a missing local key returns false
rspec ./spec/lib/gitlab/ci/config/external/file/local_spec.rb:48 # Gitlab::Ci::Config::External::File::Local#valid? when is a valid local path returns true
rspec ./spec/lib/gitlab/ci/config/external/file/local_spec.rb:56 # Gitlab::Ci::Config::External::File::Local#valid? when is not a valid local path returns false
rspec ./spec/lib/gitlab/ci/config/external/file/local_spec.rb:64 # Gitlab::Ci::Config::External::File::Local#valid? when is not a yaml file returns false
rspec ./spec/lib/gitlab/ci/config/external/file/local_spec.rb:87 # Gitlab::Ci::Config::External::File::Local#content with a valid file returns the content of the file
rspec ./spec/lib/gitlab/ci/config/external/file/local_spec.rb:95 # Gitlab::Ci::Config::External::File::Local#content with an invalid file is nil
rspec ./spec/lib/gitlab/ci/config/external/file/local_spec.rb:104 # Gitlab::Ci::Config::External::File::Local#error_message returns an error message
rspec ./spec/lib/gitlab/ci/config/external/file/local_spec.rb:114 # Gitlab::Ci::Config::External::File::Local#expand_context inherits project, user and sha
rspec ./spec/lib/gitlab/ci/config/external/file/local_spec.rb:135 # Gitlab::Ci::Config::External::File::Local#to_hash properly includes another local file in the same repository does expand hash to include the template
rspec ./spec/graphql/mutations/concerns/mutations/resolves_project_spec.rb:13 # Mutations::ResolvesProject uses the ProjectsResolver to resolve projects by path
rspec ./spec/services/clusters/gcp/kubernetes/fetch_kubernetes_token_service_spec.rb:41 # Clusters::Gcp::Kubernetes::FetchKubernetesTokenService#execute when params correct when the secret exists
rspec ./spec/services/clusters/gcp/kubernetes/fetch_kubernetes_token_service_spec.rb:49 # Clusters::Gcp::Kubernetes::FetchKubernetesTokenService#execute when params correct when there is a 500 error should raise Kubeclient::HttpError
rspec ./spec/services/clusters/gcp/kubernetes/fetch_kubernetes_token_service_spec.rb:64 # Clusters::Gcp::Kubernetes::FetchKubernetesTokenService#execute when params correct when the secret does not exist on the first try retries and finds the token
rspec ./spec/services/clusters/gcp/kubernetes/fetch_kubernetes_token_service_spec.rb:74 # Clusters::Gcp::Kubernetes::FetchKubernetesTokenService#execute when params correct when the secret permanently does not exist
rspec ./spec/services/clusters/gcp/kubernetes/fetch_kubernetes_token_service_spec.rb:89 # Clusters::Gcp::Kubernetes::FetchKubernetesTokenService#execute when params correct when the secret is missing a token on the first try retries and finds the token
rspec ./spec/services/clusters/gcp/kubernetes/fetch_kubernetes_token_service_spec.rb:106 # Clusters::Gcp::Kubernetes::FetchKubernetesTokenService#execute when params correct when the secret is permanently missing a token
rspec ./spec/helpers/preferences_helper_spec.rb:49 # PreferencesHelper#first_day_of_week_choices_with_default returns choices including system default
rspec ./spec/lib/gitlab/ci/config/external/file/remote_spec.rb:54 # Gitlab::Ci::Config::External::File::Remote#valid? when is a valid remote url returns true
rspec ./spec/lib/gitlab/ci/config/external/file/remote_spec.rb:100 # Gitlab::Ci::Config::External::File::Remote#content with a valid remote file returns the content of the file
rspec ./spec/lib/gitlab/ci/config/external/file/remote_spec.rb:122 # Gitlab::Ci::Config::External::File::Remote#content with an invalid remote url is nil
rspec ./spec/lib/gitlab/ci/config/external/file/remote_spec.rb:130 # Gitlab::Ci::Config::External::File::Remote#content with an internal url is nil
rspec ./spec/lib/gitlab/ci/config/external/file/remote_spec.rb:152 # Gitlab::Ci::Config::External::File::Remote#error_message when timeout error has been raised returns error message about a timeout
rspec ./spec/lib/gitlab/ci/config/external/file/remote_spec.rb:162 # Gitlab::Ci::Config::External::File::Remote#error_message when HTTP error has been raised returns error message about a HTTP error
rspec ./spec/lib/gitlab/ci/config/external/file/remote_spec.rb:172 # Gitlab::Ci::Config::External::File::Remote#error_message when response has 404 status returns error message about a timeout
rspec ./spec/lib/gitlab/ci/config/external/file/remote_spec.rb:180 # Gitlab::Ci::Config::External::File::Remote#error_message when the URL is blocked includes details about blocked URL
rspec ./spec/lib/mattermost/team_spec.rb:44 # Mattermost::Team#all for valid request returns teams
rspec ./spec/lib/mattermost/team_spec.rb:65 # Mattermost::Team#all for error message raises an error with message
rspec ./spec/lib/mattermost/team_spec.rb:102 # Mattermost::Team#create for a new team returns the new team
rspec ./spec/lib/mattermost/team_spec.rb:123 # Mattermost::Team#create for existing team raises an error with message
rspec ./spec/lib/mattermost/team_spec.rb:148 # Mattermost::Team#delete for an existing team returns team status
rspec ./spec/lib/mattermost/team_spec.rb:169 # Mattermost::Team#delete for an unknown team raises an error with message
rspec ./spec/workers/authorized_projects_worker_spec.rb:11 # AuthorizedProjectsWorker#perform refreshes user's authorized projects