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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 7d988d182472223bcaa21d57863e1d9e4cb921cc
4
- data.tar.gz: 306693dc931acca7b918ea0c699a20a807488b73
2
+ SHA256:
3
+ metadata.gz: f9495b2b80997f741d94f1c3363417fb7b57fb153427308920aa2bc740524654
4
+ data.tar.gz: d4d0a79478c5fc34d26417d4da28e56b5c7cf216251499228334ca18b4633979
5
5
  SHA512:
6
- metadata.gz: f8e560faab3c5e855fe8f3d08ab351d33a400c9c06c436e6f8391201cfdba22e24cde79086b9cacbafc3c3c18144596b43e81d09676d1260b36ba81ef519ad70
7
- data.tar.gz: 27dea8cb3a6b2cb3404b17407b15dba3bd9ff018b675d969bf6bf7276686df56aad0e48a937f0e793b4397b062fac5289f0c80921adaecbe703a2bd23aede4c3
6
+ metadata.gz: cac40d871b44e8cebbf8cfef993902d3e58522181a3751009609b9eb6b6acb3ae063ca547d1a5bc1ef6cd857916bfc44bb2ff58ae437728b95c6c86c8a3cd0e7
7
+ data.tar.gz: e67751467ae5fd1afd2a99160cb550e594d7cd432ed14f7395d0780794e649c0ad2f41600b201b6da30aa2764ade1c55ebfccd2f4e0493f39350ba57e76c4749
@@ -3,7 +3,8 @@ rvm:
3
3
  - 2.1
4
4
  - 2.2
5
5
  - 2.3.3
6
- - 2.4.0
6
+ - 2.4.3
7
+ - 2.5.0
7
8
  gemfile:
8
9
  - gemfiles/rspec_3.3.gemfile
9
10
  - gemfiles/rspec_3.4.gemfile
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.3-3.7       | 0.5.6             |
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
 
@@ -1,3 +1,7 @@
1
+ # 0.5.7 - 2018-03-13
2
+ ## enhancements
3
+ remove <3.8 constraint on rspec-core to prevent breaking when rspec-core upgrades (thanks @dthorsen / #89)
4
+
1
5
  # 0.5.6 - 2017-10-17
2
6
  ## enhancements
3
7
  added support for rspec 3.7.0
@@ -1,8 +1,8 @@
1
1
  PATH
2
2
  remote: ..
3
3
  specs:
4
- rspec-retry (0.5.6)
5
- rspec-core (> 3.3, < 3.8)
4
+ rspec-retry (0.5.7)
5
+ rspec-core (> 3.3)
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
@@ -50,4 +50,4 @@ DEPENDENCIES
50
50
  rspec-retry!
51
51
 
52
52
  BUNDLED WITH
53
- 1.15.4
53
+ 1.16.1
@@ -1,8 +1,8 @@
1
1
  PATH
2
2
  remote: ..
3
3
  specs:
4
- rspec-retry (0.5.6)
5
- rspec-core (> 3.3, < 3.8)
4
+ rspec-retry (0.5.7)
5
+ rspec-core (> 3.3)
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
@@ -50,4 +50,4 @@ DEPENDENCIES
50
50
  rspec-retry!
51
51
 
52
52
  BUNDLED WITH
53
- 1.15.4
53
+ 1.16.1
@@ -1,8 +1,8 @@
1
1
  PATH
2
2
  remote: ..
3
3
  specs:
4
- rspec-retry (0.5.6)
5
- rspec-core (> 3.3, < 3.8)
4
+ rspec-retry (0.5.7)
5
+ rspec-core (> 3.3)
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
@@ -50,4 +50,4 @@ DEPENDENCIES
50
50
  rspec-retry!
51
51
 
52
52
  BUNDLED WITH
53
- 1.15.4
53
+ 1.16.1
@@ -1,8 +1,8 @@
1
1
  PATH
2
2
  remote: ..
3
3
  specs:
4
- rspec-retry (0.5.6)
5
- rspec-core (> 3.3, < 3.8)
4
+ rspec-retry (0.5.7)
5
+ rspec-core (> 3.3)
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
@@ -50,4 +50,4 @@ DEPENDENCIES
50
50
  rspec-retry!
51
51
 
52
52
  BUNDLED WITH
53
- 1.15.4
53
+ 1.16.1
@@ -1,8 +1,8 @@
1
1
  PATH
2
2
  remote: ..
3
3
  specs:
4
- rspec-retry (0.5.6)
5
- rspec-core (> 3.3, < 3.8)
4
+ rspec-retry (0.5.7)
5
+ rspec-core (> 3.3)
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
@@ -48,4 +48,4 @@ DEPENDENCIES
48
48
  rspec-retry!
49
49
 
50
50
  BUNDLED WITH
51
- 1.15.4
51
+ 1.16.1
@@ -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.any? do |exception_klass|
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.any? do |exception_klass|
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
 
@@ -1,5 +1,5 @@
1
1
  module RSpec
2
2
  class Retry
3
- VERSION = "0.5.6"
3
+ VERSION = "0.5.7"
4
4
  end
5
5
  end
@@ -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', '<3.8')
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.6
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: 2017-11-03 00:00:00.000000000 Z
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.4.8
137
+ rubygems_version: 2.7.3
144
138
  signing_key:
145
139
  specification_version: 4
146
140
  summary: retry intermittently failing rspec examples