rspec_trunk_flaky_tests 0.12.9.pre.beta.2 → 0.12.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/trunk_spec_helper.rb +31 -2
  3. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 45428ff9a0e416df69d464b9250302d3630d3126169690cb6fdbbe39570a655f
4
- data.tar.gz: 2075045092b3e61fd96ffd48563a6580512737662ea1e76319605491cd7afb5b
3
+ metadata.gz: ea4773fccdd7b64f42eab86b774a42d5edd7450a9042bffdb412f245b2701d31
4
+ data.tar.gz: a56c86685c55567e886d1f8767d930f6edd6902bb134c031b3001ccf254e2e21
5
5
  SHA512:
6
- metadata.gz: d5373016370798144a3862927f1e2015f720532e1fad446b6f482bd34bef1c623765d3c117c472ddd12ce742053aa604b831ee2a1a646eee91fbd3adb5fc5390
7
- data.tar.gz: 77958d709a42c12420faf8e24db21071cf64384be399e4983cba6c7a535da89a59587df2de1d90174f2584da5558e1300466f58c498e3dd8234a3204ec5eefaf
6
+ metadata.gz: 65b7a7cb4c2c2b126c6abff94d23ff205907089ee09630c0bcf2395b11b8af100edef7efba522661e31fe28c44009d4d372583ba24ff30108d4ad2156931904f
7
+ data.tar.gz: 0ca103d830aabd876e323cd2e13859d037f4fe8fcf3aeb6e963f881bd6980f8160786ddb6ada06a36884b613316fe6c80a43ccd4e4064020bc16040b05934690
@@ -186,6 +186,35 @@ module RSpec
186
186
  end
187
187
  end
188
188
 
189
+ def format_exception_message(exception)
190
+ case exception
191
+ when RSpec::Core::MultipleExceptionError
192
+ # MultipleExceptionError contains multiple exceptions in @exceptions array
193
+ messages = exception.all_exceptions.map { |e| "#{e.class}: #{e.message}" }
194
+ "#{exception.class}: #{messages.join(' | ')}"
195
+ else
196
+ exception.to_s
197
+ end
198
+ end
199
+
200
+ # trunk-ignore(rubocop/Metrics/MethodLength)
201
+ def format_exception_backtrace(exception)
202
+ case exception
203
+ when RSpec::Core::MultipleExceptionError
204
+ # Collect backtraces from all nested exceptions
205
+ backtraces = exception.all_exceptions.map do |e|
206
+ if e.backtrace && !e.backtrace.empty?
207
+ "#{e.class}: #{e.message}\n#{e.backtrace.join("\n")}"
208
+ else
209
+ "#{e.class}: #{e.message}"
210
+ end
211
+ end
212
+ backtraces.join("\n\n")
213
+ else
214
+ exception.backtrace&.join("\n") || ''
215
+ end
216
+ end
217
+
189
218
  # TrunkAnalyticsListener is a class that is used to listen to the execution of the Example class
190
219
  # it generates and submits the final test reports
191
220
  class TrunkAnalyticsListener
@@ -227,8 +256,8 @@ class TrunkAnalyticsListener
227
256
  failure_message = ''
228
257
  backtrace = ''
229
258
  if exception
230
- failure_message = exception.to_s
231
- backtrace = exception.backtrace.join("\n") if exception.backtrace && !exception.backtrace.empty?
259
+ failure_message = format_exception_message(exception)
260
+ backtrace = format_exception_backtrace(exception)
232
261
  end
233
262
  failure_message = failure_message[0...MAX_TEXT_FIELD_SIZE] if failure_message.length > MAX_TEXT_FIELD_SIZE
234
263
  backtrace = backtrace[0...MAX_TEXT_FIELD_SIZE] if backtrace.length > MAX_TEXT_FIELD_SIZE
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rspec_trunk_flaky_tests
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.12.9.pre.beta.2
4
+ version: 0.12.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Trunk Technologies, Inc.