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
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2021-10-04 21:12:46 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2021-10-04 21:12:46 +0300
commit8a0a54ab92c509c6b480059a5f2730869c99d454 (patch)
treefd963a83cd9991663b525e485cae8af8b0851b88 /tooling
parente9ab4187093f05b873b32045295eeb580c97cdce (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'tooling')
-rw-r--r--tooling/quality/test_level.rb24
1 files changed, 19 insertions, 5 deletions
diff --git a/tooling/quality/test_level.rb b/tooling/quality/test_level.rb
index ad9de067375..83cbe7a1f19 100644
--- a/tooling/quality/test_level.rb
+++ b/tooling/quality/test_level.rb
@@ -60,20 +60,20 @@ module Quality
system: ['features']
}.freeze
- attr_reader :prefix
+ attr_reader :prefixes
- def initialize(prefix = nil)
- @prefix = prefix
+ def initialize(prefixes = nil)
+ @prefixes = Array(prefixes)
@patterns = {}
@regexps = {}
end
def pattern(level)
- @patterns[level] ||= "#{prefix}spec/#{folders_pattern(level)}{,/**/}*#{suffix(level)}"
+ @patterns[level] ||= "#{prefixes_for_pattern}spec/#{folders_pattern(level)}{,/**/}*#{suffix(level)}"
end
def regexp(level)
- @regexps[level] ||= Regexp.new("#{prefix}spec/#{folders_regex(level)}").freeze
+ @regexps[level] ||= Regexp.new("#{prefixes_for_regex}spec/#{folders_regex(level)}").freeze
end
def level_for(file_path)
@@ -102,6 +102,20 @@ module Quality
private
+ def prefixes_for_pattern
+ return '' if prefixes.empty?
+
+ "{#{prefixes.join(',')}}"
+ end
+
+ def prefixes_for_regex
+ return '' if prefixes.empty?
+
+ regex_prefix = prefixes.map(&Regexp.method(:escape)).join('|')
+
+ "(#{regex_prefix})"
+ end
+
def suffix(level)
case level
when :frontend_fixture