Skip to content

Warn about missing feature category RSpec tag in all specs

Peter Leitzen requested to merge pl-warn-missing-feature-category-all-specs into master

What does this MR do and why?

This MR makes sure that all spec types ("fast specs" using fast_spec_helper and "rubocop specs" using rubocop_spec_helper) are checked to contain feature_category RSpec tag.

Follow-up of !104398 (merged).

How to set up and validate locally

See warnings Missing metadata feature_category also in the following specs.

spec_helper (still works)

$ bin/rspec -f p spec/models/key_spec.rb
Run options: include {:focus=>true}

All examples were filtered out; ignoring {:focus=>true}

Randomized with seed 13610

Test environment set up in 5.256251754 seconds
Missing metadata feature_category: ./spec/models/key_spec.rb:293 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:302 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:455 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:459 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:399 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:399 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:399 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:399 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:399 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:399 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:399 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:399 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:399 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:399 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:399 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:399 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:399 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:399 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:399 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:399 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:399 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:399 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:399 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:399 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:399 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:399 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:399 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:399 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:399 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:399 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:14 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:21 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:24 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:27 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:19 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:16 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:20 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:18 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:25 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:17 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:23 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:22 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:26 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:13 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:136 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:136 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:136 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:136 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:136 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:136 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:136 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:136 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:136 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:136 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:136 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:41 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:41 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:32 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:41 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:41 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:41 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:41 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:41 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:41 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:472 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:484 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/support/shared_examples/models/active_record_enum_shared_examples.rb:5 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:150 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:151 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:154 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:160 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:440 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:434 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:411 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:420 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:317 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:313 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:334 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:334 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:334 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:276 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:286 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:263 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:9 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:184 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:190 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:231 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:227 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:216 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:210 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:240 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:244 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/models/key_spec.rb:250 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.

Finished in 10.14 seconds (files took 8.39 seconds to load)
93 examples, 0 failures

Randomized with seed 13610

fast_spec_helper

$ bin/rspec -f p spec/support_specs/capybara_slow_finder_spec.rb
Run options: include {:focus=>true}

All examples were filtered out; ignoring {:focus=>true}

Randomized with seed 34632
Missing metadata feature_category: ./spec/support_specs/capybara_slow_finder_spec.rb:66 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/support_specs/capybara_slow_finder_spec.rb:58 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/support_specs/capybara_slow_finder_spec.rb:20 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/support_specs/capybara_slow_finder_spec.rb:36 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.

Finished in 0.05565 seconds (files took 1.2 seconds to load)
4 examples, 0 failures

Randomized with seed 34632

rubocop_spec_helper

$ bin/rspec -f p spec/rubocop/cop/user_admin_spec.rb
Run options: include {:focus=>true}

All examples were filtered out; ignoring {:focus=>true}

Randomized with seed 16068
Missing metadata feature_category: ./spec/rubocop/cop/user_admin_spec.rb:7 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.Missing metadata feature_category: ./spec/rubocop/cop/user_admin_spec.rb:14 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.

Finished in 0.0724 seconds (files took 1.41 seconds to load)
2 examples, 0 failures

Randomized with seed 16068

Checkout master and rerun the specs and you won't see the warnings Missing metadata feature_category.

MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by Peter Leitzen

Merge request reports