rspec-abq 1.0.7 → 1.1.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5b0646cb04737a465bc4d6e970f646467c0c99216dbfea158be227a310d1788f
4
- data.tar.gz: 23433a92ba1b15d82c4466f1deea8702ea5757aa7c01c73e84e85468430b9227
3
+ metadata.gz: 29210d070dba423ba2bb9aad82deb1df9e4a4fb01e70bec05b1d728d20e29d5e
4
+ data.tar.gz: 1771fe5b152192dd256b29cc412526fc275c381c1c697cec4a51b6ae5a4b0174
5
5
  SHA512:
6
- metadata.gz: 4034da120d1294a140edc8ac8f96d2f85aba0e0ea14092a8152f43154634b395391bfd04a80c9191cf7ab58c5b7598855628a144d2b4a73ebe9a7b3798f632dc
7
- data.tar.gz: de01483d3b19fc944832eda36f36398dd99cbf41a9cec52c3fb585d8189edeb1546046352db654f87411c6d923209f08820b6ed6eadc4096f20a2f0cd3dab79f
6
+ metadata.gz: 8f89f037b50d88458b443c534ec78e20d9bbf4661d81cf68774f2bd7438a588cace8a991dfe101d1a4424a98956e186ba20f65d51f47d837ff5237dbf4b00a4f
7
+ data.tar.gz: 22bf4931dc4ee3639334e1e91451e0577591c215ad279802560d8ae7256b56a31a93fcb495b932f9e490658aa2e1bc23e1100c29ed735b0515312f1e9dae2c6f
@@ -28,28 +28,33 @@ module RSpec
28
28
  def self.abq_result(example)
29
29
  execution_result = example.execution_result
30
30
  tags, meta = Manifest.extract_metadata_and_tags(example.metadata)
31
- {
32
- test_result: {
33
- status: status(example),
34
- id: example.id,
35
- display_name: example.metadata[:full_description],
36
- output: if execution_result.exception
37
- RSpec::Core::Formatters::ExceptionPresenter
38
- .new(execution_result.exception, example)
39
- .fully_formatted(1)
40
- end,
41
- runtime: (execution_result.run_time * 1_000_000_000).round,
42
- tags: tags,
43
- meta: meta,
44
- location: {
45
- file: example.metadata[:file_path],
46
- line: example.metadata[:line_number]
47
- },
48
- started_at: execution_result.started_at.utc.iso8601,
49
- finished_at: execution_result.finished_at.utc.iso8601,
50
- lineage: RSpec::Core::Metadata.ascend(example.metadata).map { |meta| meta[:description] }.reverse
51
- }
31
+ test_result = {
32
+ status: status(example),
33
+ id: example.id,
34
+ display_name: example.metadata[:full_description],
35
+ output: if execution_result.exception
36
+ RSpec::Core::Formatters::ExceptionPresenter
37
+ .new(execution_result.exception, example)
38
+ .fully_formatted(1)
39
+ end,
40
+ runtime: (execution_result.run_time * 1_000_000_000).round,
41
+ tags: tags,
42
+ meta: meta,
43
+ location: {
44
+ file: example.metadata[:file_path],
45
+ line: example.metadata[:line_number]
46
+ },
47
+ started_at: execution_result.started_at.utc.iso8601,
48
+ finished_at: execution_result.finished_at.utc.iso8601,
49
+ lineage: RSpec::Core::Metadata.ascend(example.metadata).map { |meta| meta[:description] }.reverse
52
50
  }
51
+
52
+ past_rspec_retry_attempts = rspec_retry_attempts(example)
53
+ if past_rspec_retry_attempts
54
+ test_result[:past_attempts] = past_rspec_retry_attempts
55
+ end
56
+
57
+ {test_result: test_result}
53
58
  end
54
59
 
55
60
  private_class_method def self.status(example)
@@ -82,6 +87,27 @@ module RSpec
82
87
  end
83
88
  end
84
89
  end
90
+
91
+ private_class_method def self.rspec_retry_attempts(example)
92
+ return unless defined?(RSpec::Retry)
93
+ return unless example.metadata.key?(:retry_attempts)
94
+ return unless example.metadata.key?(:retry_exceptions)
95
+
96
+ retry_attempts = example.metadata[:retry_attempts]
97
+ retry_exceptions = example.metadata[:retry_exceptions]
98
+ return unless retry_attempts > 0
99
+
100
+ retry_attempts.times.map do |attempt_index|
101
+ {
102
+ status: {type: :failure},
103
+ id: example.id,
104
+ display_name: example.metadata[:full_description],
105
+ output: retry_exceptions[attempt_index],
106
+ runtime: 0, # rspec-retry does not expose individual durations
107
+ meta: {} # rspec-retry exposes no other metadata beyond attempt and exceptions
108
+ }
109
+ end
110
+ end
85
111
  end
86
112
  end
87
113
  end
@@ -1,6 +1,6 @@
1
1
  module RSpec
2
2
  module Abq
3
3
  # current version!
4
- VERSION = "1.0.7"
4
+ VERSION = "1.1.0"
5
5
  end
6
6
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rspec-abq
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.7
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ayaz Hafiz
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2023-02-02 00:00:00.000000000 Z
12
+ date: 2023-02-10 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec-core