rspec-retry 0.5.6 → 0.5.7
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 +5 -5
- data/.travis.yml +2 -1
- data/README.md +2 -1
- data/changelog.md +4 -0
- data/gemfiles/rspec_3.3.gemfile.lock +3 -3
- data/gemfiles/rspec_3.4.gemfile.lock +3 -3
- data/gemfiles/rspec_3.5.gemfile.lock +3 -3
- data/gemfiles/rspec_3.6.gemfile.lock +3 -3
- data/gemfiles/rspec_3.7.gemfile.lock +3 -3
- data/lib/rspec/retry.rb +8 -6
- data/lib/rspec/retry/version.rb +1 -1
- data/rspec-retry.gemspec +1 -1
- data/spec/lib/rspec/retry_spec.rb +16 -3
- metadata +3 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: f9495b2b80997f741d94f1c3363417fb7b57fb153427308920aa2bc740524654
|
4
|
+
data.tar.gz: d4d0a79478c5fc34d26417d4da28e56b5c7cf216251499228334ca18b4633979
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cac40d871b44e8cebbf8cfef993902d3e58522181a3751009609b9eb6b6acb3ae063ca547d1a5bc1ef6cd857916bfc44bb2ff58ae437728b95c6c86c8a3cd0e7
|
7
|
+
data.tar.gz: e67751467ae5fd1afd2a99160cb550e594d7cd432ed14f7395d0780794e649c0ad2f41600b201b6da30aa2764ade1c55ebfccd2f4e0493f39350ba57e76c4749
|
data/.travis.yml
CHANGED
data/README.md
CHANGED
@@ -8,7 +8,8 @@ specified number of times until the example succeeds.
|
|
8
8
|
|
9
9
|
| Rspec Version | Rspec-Retry Version |
|
10
10
|
|---------------|---------------------|
|
11
|
-
| 3.
|
11
|
+
| > 3.8 | 0.5.7 but untested |
|
12
|
+
| > 3.3, <= 3.8 | 0.5.7 |
|
12
13
|
| 3.2 | 0.4.6 |
|
13
14
|
| 2.14.8 | 0.4.4 |
|
14
15
|
|
data/changelog.md
CHANGED
data/lib/rspec/retry.rb
CHANGED
@@ -121,15 +121,11 @@ module RSpec
|
|
121
121
|
break if attempts >= retry_count
|
122
122
|
|
123
123
|
if exceptions_to_hard_fail.any?
|
124
|
-
break if exceptions_to_hard_fail.
|
125
|
-
example.exception.is_a?(exception_klass)
|
126
|
-
end
|
124
|
+
break if exception_exists_in?(exceptions_to_hard_fail, example.exception)
|
127
125
|
end
|
128
126
|
|
129
127
|
if exceptions_to_retry.any?
|
130
|
-
break unless exceptions_to_retry.
|
131
|
-
example.exception.is_a?(exception_klass)
|
132
|
-
end
|
128
|
+
break unless exception_exists_in?(exceptions_to_retry, example.exception)
|
133
129
|
end
|
134
130
|
|
135
131
|
if verbose_retry? && display_try_failure_messages?
|
@@ -172,6 +168,12 @@ module RSpec
|
|
172
168
|
end
|
173
169
|
end
|
174
170
|
end
|
171
|
+
|
172
|
+
def exception_exists_in?(list, exception)
|
173
|
+
list.any? do |exception_klass|
|
174
|
+
exception.is_a?(exception_klass) || exception_klass === exception
|
175
|
+
end
|
176
|
+
end
|
175
177
|
end
|
176
178
|
end
|
177
179
|
|
data/lib/rspec/retry/version.rb
CHANGED
data/rspec-retry.gemspec
CHANGED
@@ -15,7 +15,7 @@ Gem::Specification.new do |gem|
|
|
15
15
|
gem.name = "rspec-retry"
|
16
16
|
gem.require_paths = ["lib"]
|
17
17
|
gem.version = RSpec::Retry::VERSION
|
18
|
-
gem.add_runtime_dependency(%{rspec-core}, '>3.3'
|
18
|
+
gem.add_runtime_dependency(%{rspec-core}, '>3.3')
|
19
19
|
gem.add_development_dependency %q{appraisal}
|
20
20
|
gem.add_development_dependency %q{rspec}
|
21
21
|
gem.add_development_dependency %q{byebug}, '~>9.0.6' # 9.1 deprecates ruby 2.1
|
@@ -23,9 +23,8 @@ describe RSpec::Retry do
|
|
23
23
|
class RetryChildError < RetryError; end
|
24
24
|
class HardFailError < StandardError; end
|
25
25
|
class HardFailChildError < HardFailError; end
|
26
|
-
class OtherError < StandardError; end
|
27
|
-
class SharedError < StandardError; end
|
28
|
-
|
26
|
+
class OtherError < StandardError; end
|
27
|
+
class SharedError < StandardError; end
|
29
28
|
before(:all) do
|
30
29
|
ENV.delete('RSPEC_RETRY_RETRY_COUNT')
|
31
30
|
end
|
@@ -130,6 +129,20 @@ describe RSpec::Retry do
|
|
130
129
|
expect(count).to eq(1)
|
131
130
|
end
|
132
131
|
end
|
132
|
+
|
133
|
+
context 'the example retries exceptions which match with case equality' do
|
134
|
+
class CaseEqualityError < StandardError
|
135
|
+
def self.===(other)
|
136
|
+
# An example of dynamic matching
|
137
|
+
other.message == 'Rescue me!'
|
138
|
+
end
|
139
|
+
end
|
140
|
+
|
141
|
+
it 'retries the maximum number of times', exceptions_to_retry: [CaseEqualityError] do
|
142
|
+
raise StandardError, 'Rescue me!' unless count > 1
|
143
|
+
expect(count).to eq(2)
|
144
|
+
end
|
145
|
+
end
|
133
146
|
end
|
134
147
|
|
135
148
|
describe "with both hard fail and retry list of exceptions", :retry => 2, :exceptions_to_retry => [SharedError, RetryError], :exceptions_to_hard_fail => [SharedError, HardFailError] do
|
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.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Yusuke Mito
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2018-03-14 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rspec-core
|
@@ -18,9 +18,6 @@ dependencies:
|
|
18
18
|
- - ">"
|
19
19
|
- !ruby/object:Gem::Version
|
20
20
|
version: '3.3'
|
21
|
-
- - "<"
|
22
|
-
- !ruby/object:Gem::Version
|
23
|
-
version: '3.8'
|
24
21
|
type: :runtime
|
25
22
|
prerelease: false
|
26
23
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -28,9 +25,6 @@ dependencies:
|
|
28
25
|
- - ">"
|
29
26
|
- !ruby/object:Gem::Version
|
30
27
|
version: '3.3'
|
31
|
-
- - "<"
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: '3.8'
|
34
28
|
- !ruby/object:Gem::Dependency
|
35
29
|
name: appraisal
|
36
30
|
requirement: !ruby/object:Gem::Requirement
|
@@ -140,7 +134,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
140
134
|
version: '0'
|
141
135
|
requirements: []
|
142
136
|
rubyforge_project:
|
143
|
-
rubygems_version: 2.
|
137
|
+
rubygems_version: 2.7.3
|
144
138
|
signing_key:
|
145
139
|
specification_version: 4
|
146
140
|
summary: retry intermittently failing rspec examples
|