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 +4 -4
- data/changelog.md +7 -1
- data/gemfiles/rspec_3.3.gemfile.lock +1 -1
- data/gemfiles/rspec_3.4.gemfile.lock +1 -1
- data/gemfiles/rspec_3.5.gemfile.lock +1 -1
- data/lib/rspec/retry.rb +8 -1
- data/lib/rspec/retry/version.rb +1 -1
- data/rspec-retry.gemspec +1 -1
- data/spec/lib/rspec/retry_spec.rb +41 -0
- data/spec/spec_helper.rb +9 -0
- metadata +11 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 27951aeb7cc93cd64a90a00bc5bd09d11f036e54
|
4
|
+
data.tar.gz: 3cb90e5c4670162ca7eb4247b531eaea1966f0dc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
|
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
|
-
|
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
|
data/lib/rspec/retry/version.rb
CHANGED
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}, '
|
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.
|
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-
|
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.
|
139
|
+
rubygems_version: 2.5.1
|
134
140
|
signing_key:
|
135
141
|
specification_version: 4
|
136
142
|
summary: retry intermittently failing rspec examples
|