gitlab_quality-test_tooling 0.9.1 → 0.9.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 145ee9c8df7307958d5fa46edbff45de7ed0bb604dc213fb9ac5813cd1057327
4
- data.tar.gz: 4308fca7357956cf7a236cd59337eb9677de2582f459c2a617da06ba157c60cb
3
+ metadata.gz: fa16a309741761cbce53a73d541cef1c6bb587cd790492cddc02face87e4338b
4
+ data.tar.gz: 9cdba5b6c53c83adba07ce9cc0316568b4e8137955fe46faef7705b4b577a5d9
5
5
  SHA512:
6
- metadata.gz: d5a96691899147d6e61e6d98c24e63b8efe2e5d6cbf4870ea9c1095dfdc7d5091e9381def5a77a5b43dfa85e8c49b6b64bce34852f00b5a4dd61fbda6da70d10
7
- data.tar.gz: daa62f692125939eb89b2ffe0664527bcc7078574327a874fe180889358d421686de8cbaeb22ddb83ef71247cea967f3b5d2dd3888415eb764569b2f701034e0
6
+ metadata.gz: dbb5472b2c4a5d70b26806c2467faae4a8b6770a2cf0ddc61f27e2c082f51459f5f8f7a4d640ec93ee3a8da0a126f5effdbae174d7aaf71d2054eddee0854529
7
+ data.tar.gz: 98bdef30f3db77c15256ed2ef02e9b3550d8ed6d653e932f0550b35ba3b4f99bd899cedd518dd9a3e0e422ad07e232b2ee1eb1a3abfa2713927312a788c17ad5
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- gitlab_quality-test_tooling (0.9.1)
4
+ gitlab_quality-test_tooling (0.9.3)
5
5
  activesupport (>= 6.1, < 7.1)
6
6
  gitlab (~> 4.19)
7
7
  http (~> 5.0)
@@ -176,12 +176,10 @@ module GitlabQuality
176
176
  end
177
177
 
178
178
  def full_stacktrace(test)
179
- first_failure = test.failures.first
179
+ test.failures.each do |failure|
180
+ next if IGNORED_FAILURES.any? { |e| failure['message'].include?(e) }
180
181
 
181
- if first_failure['message_lines'].empty?
182
- first_failure['message']
183
- else
184
- first_failure['message_lines'].join("\n")
182
+ return failure['message_lines'].empty? ? failure['message'] : failure['message_lines'].join("\n")
185
183
  end
186
184
  end
187
185
 
@@ -193,9 +191,9 @@ module GitlabQuality
193
191
  end
194
192
 
195
193
  def cleaned_stacktrace_from_test(test)
196
- first_test_failure_stacktrace = sanitize_stacktrace(full_stacktrace(test),
194
+ test_failure_stacktrace = sanitize_stacktrace(full_stacktrace(test),
197
195
  FAILURE_STACKTRACE_REGEX) || full_stacktrace(test)
198
- remove_unique_resource_names(first_test_failure_stacktrace)
196
+ remove_unique_resource_names(test_failure_stacktrace)
199
197
  end
200
198
 
201
199
  def compare_stack_traces(stack_trace_first, stack_trace_second)
@@ -38,9 +38,11 @@ module GitlabQuality
38
38
 
39
39
  def new_issue_description(test)
40
40
  super +
41
- <<~DESCRIPTION
41
+ <<~DESCRIPTION.chomp
42
42
  Slow tests were detected, please see the [test speed best practices guide](https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#test-speed)
43
43
  to improve them. More context available about this issue in the [top slow tests guide](https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#top-slow-tests).
44
+
45
+ Add `allowed_to_be_slow: true` to the RSpec test if this is a legit slow test and close the issue.
44
46
  DESCRIPTION
45
47
  end
46
48
 
@@ -59,7 +61,7 @@ module GitlabQuality
59
61
  end
60
62
 
61
63
  def should_create_slow_issue?(test)
62
- test.run_time > max_duration_for_test(test)
64
+ !test.allowed_to_be_slow? && test.run_time > max_duration_for_test(test)
63
65
  end
64
66
  end
65
67
  end
@@ -119,6 +119,10 @@ module GitlabQuality
119
119
  failures.any?
120
120
  end
121
121
 
122
+ def allowed_to_be_slow?
123
+ !!report['allowed_to_be_slow']
124
+ end
125
+
122
126
  private
123
127
 
124
128
  def quarantine
@@ -2,6 +2,6 @@
2
2
 
3
3
  module GitlabQuality
4
4
  module TestTooling
5
- VERSION = "0.9.1"
5
+ VERSION = "0.9.3"
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gitlab_quality-test_tooling
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.1
4
+ version: 0.9.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - GitLab Quality
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-07-13 00:00:00.000000000 Z
11
+ date: 2023-07-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: climate_control