rspec-retry 0.5.0 → 0.5.1

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
  SHA1:
3
- metadata.gz: cfdf0132a19abfc421a236841691c2c5187507fc
4
- data.tar.gz: f9f1301cacaf82ff2ad36f795e673032e0e1b752
3
+ metadata.gz: 27951aeb7cc93cd64a90a00bc5bd09d11f036e54
4
+ data.tar.gz: 3cb90e5c4670162ca7eb4247b531eaea1966f0dc
5
5
  SHA512:
6
- metadata.gz: f1a21094515a00920685cc26f7682beadb567cc288f2d788d17fa7db3721cd874dbb5030c76459afe4171e9443d99e58bb378cff0541d9d9f302409327ecdda2
7
- data.tar.gz: 68562d149de4db735868f79b003b1f09707d67ac58d5f2d87e77930aca3a07741122e2266be36d257de2124f275f88c42029b68a29246923c071457709ed1c19
6
+ metadata.gz: 874e77366e2657d54b17b0c7365e3e2a435d4a2af62601ed2c4d38a646219ceda080579d6cda7107c3a77489b8ec1ecddf7d1dea110e03c3a5cf8650d9c083b7
7
+ data.tar.gz: 4152ca1c0b86caeee7f78a9f4e2f53e0821edbc5a035238263ee847b550e47ab8197441f842e798dd815dc8f7e1e387db1ea2adf7c3467a263bdeab86d5d4fba
data/changelog.md CHANGED
@@ -1,8 +1,14 @@
1
+ # 0.5.1 - 2016-10-30
2
+ ## enhancements
3
+ better failure message for multiple failures in one test (thanks @JonRowe / #62)
4
+
1
5
  # 0.5.0 - 2016-8-8
2
- drop support for rspec 3.2
6
+ drop support for rspec 3.2, added support for 3.4, 3.5
3
7
 
4
8
  # 0.4.6 - 2016-8-8
9
+ ## bugfixes
5
10
  failure message was off by 1 (thanks @anthonywoo, @vgrigoruk / #57)
11
+ ## enhancements
6
12
  add the `exceptions_to_hard_fail` options (thanks @james-dominy, @ShockwaveNN / #59)
7
13
  add retry reporter & api for accessing retry from reporter (thanks @tdeo / #54)
8
14
 
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: ../
3
3
  specs:
4
- rspec-retry (0.5.0)
4
+ rspec-retry (0.5.1)
5
5
  rspec-core (~> 3.3)
6
6
 
7
7
  GEM
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: ../
3
3
  specs:
4
- rspec-retry (0.5.0)
4
+ rspec-retry (0.5.1)
5
5
  rspec-core (~> 3.3)
6
6
 
7
7
  GEM
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: ../
3
3
  specs:
4
- rspec-retry (0.5.0)
4
+ rspec-retry (0.5.1)
5
5
  rspec-core (~> 3.3)
6
6
 
7
7
  GEM
data/lib/rspec/retry.rb CHANGED
@@ -131,7 +131,14 @@ module RSpec
131
131
 
132
132
  if verbose_retry? && display_try_failure_messages?
133
133
  if attempts != retry_count
134
- try_message = "#{ordinalize(attempts)} Try error in #{example.location}:\n #{example.exception.to_s} \n"
134
+ exception_strings =
135
+ if ::RSpec::Core::MultipleExceptionError::InterfaceTag === example.exception
136
+ example.exception.all_exceptions.map(&:to_s)
137
+ else
138
+ [example.exception.to_s]
139
+ end
140
+
141
+ try_message = "\n#{ordinalize(attempts)} Try error in #{example.location}:\n#{exception_strings.join "\n"}\n"
135
142
  RSpec.configuration.reporter.message(try_message)
136
143
  end
137
144
  end
@@ -1,5 +1,5 @@
1
1
  module RSpec
2
2
  class Retry
3
- VERSION = "0.5.0"
3
+ VERSION = "0.5.1"
4
4
  end
5
5
  end
data/rspec-retry.gemspec CHANGED
@@ -14,7 +14,7 @@ Gem::Specification.new do |gem|
14
14
  gem.name = "rspec-retry"
15
15
  gem.require_paths = ["lib"]
16
16
  gem.version = RSpec::Retry::VERSION
17
- gem.add_runtime_dependency(%{rspec-core}, '~>3.3')
17
+ gem.add_runtime_dependency(%{rspec-core}, '>3.3', '<=3.5')
18
18
  gem.add_development_dependency %q{appraisal}
19
19
  gem.add_development_dependency %q{rspec}
20
20
  gem.add_development_dependency %q{guard-rspec}
@@ -201,4 +201,45 @@ describe RSpec::Retry do
201
201
  expect(count).to eq(3)
202
202
  end
203
203
  end
204
+
205
+ describe 'output in verbose mode' do
206
+
207
+ line_1 = __LINE__ + 8
208
+ line_2 = __LINE__ + 11
209
+ let(:group) do
210
+ RSpec.describe 'ExampleGroup', retry: 2 do
211
+ after do
212
+ fail 'broken after hook'
213
+ end
214
+
215
+ it 'passes' do
216
+ true
217
+ end
218
+
219
+ it 'fails' do
220
+ fail 'broken spec'
221
+ end
222
+ end
223
+ end
224
+
225
+ it 'outputs failures correctly' do
226
+ RSpec.configuration.output_stream = output = StringIO.new
227
+ RSpec.configuration.verbose_retry = true
228
+ RSpec.configuration.display_try_failure_messages = true
229
+ expect {
230
+ group.run RSpec.configuration.reporter
231
+ }.to change { output.string }.to a_string_including <<-STRING.gsub(/^\s+\| ?/, '')
232
+ | 1st Try error in ./spec/lib/rspec/retry_spec.rb:#{line_1}:
233
+ | broken after hook
234
+ |
235
+ | RSpec::Retry: 2nd try ./spec/lib/rspec/retry_spec.rb:#{line_1}
236
+ | F
237
+ | 1st Try error in ./spec/lib/rspec/retry_spec.rb:#{line_2}:
238
+ | broken spec
239
+ | broken after hook
240
+ |
241
+ | RSpec::Retry: 2nd try ./spec/lib/rspec/retry_spec.rb:#{line_2}
242
+ STRING
243
+ end
244
+ end
204
245
  end
data/spec/spec_helper.rb CHANGED
@@ -1,4 +1,6 @@
1
1
  require 'rspec'
2
+ require 'rspec/core/sandbox'
3
+
2
4
  require 'rspec/retry'
3
5
  if Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2')
4
6
  require "pry-debugger"
@@ -10,6 +12,13 @@ RSpec.configure do |config|
10
12
  config.verbose_retry = true
11
13
  config.display_try_failure_messages = true
12
14
 
15
+ config.around :example do |ex|
16
+ RSpec::Core::Sandbox.sandboxed do |config|
17
+ RSpec::Retry.setup
18
+ ex.run
19
+ end
20
+ end
21
+
13
22
  config.around :each, :overridden do |ex|
14
23
  ex.run_with_retry retry: 3
15
24
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rspec-retry
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.5.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yusuke Mito
@@ -9,22 +9,28 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2016-08-08 00:00:00.000000000 Z
12
+ date: 2016-09-30 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec-core
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  requirements:
18
- - - "~>"
18
+ - - ">"
19
19
  - !ruby/object:Gem::Version
20
20
  version: '3.3'
21
+ - - "<="
22
+ - !ruby/object:Gem::Version
23
+ version: '3.5'
21
24
  type: :runtime
22
25
  prerelease: false
23
26
  version_requirements: !ruby/object:Gem::Requirement
24
27
  requirements:
25
- - - "~>"
28
+ - - ">"
26
29
  - !ruby/object:Gem::Version
27
30
  version: '3.3'
31
+ - - "<="
32
+ - !ruby/object:Gem::Version
33
+ version: '3.5'
28
34
  - !ruby/object:Gem::Dependency
29
35
  name: appraisal
30
36
  requirement: !ruby/object:Gem::Requirement
@@ -130,7 +136,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
130
136
  version: '0'
131
137
  requirements: []
132
138
  rubyforge_project:
133
- rubygems_version: 2.4.5.1
139
+ rubygems_version: 2.5.1
134
140
  signing_key:
135
141
  specification_version: 4
136
142
  summary: retry intermittently failing rspec examples