rspec-retry 0.6.1 → 0.6.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b497e79a6594a6695a21850042e6a83c85c4db499a3df21c0fd057dffbcf9e10
4
- data.tar.gz: 21e43954dcb45663a451ba3525ae28c37221eccf3cc7e213960541e2f74ad6b5
3
+ metadata.gz: c292f470d49104308ba7f48b16cd830da0f0fd1c71b116351a8abb56c617cd76
4
+ data.tar.gz: f66ea148e2be7b8a593b9966f2331090699928ea006e2e9ff1892c8d2a6e3e4f
5
5
  SHA512:
6
- metadata.gz: 24735a1a4cb83b5b4e11d6e485ef617233ed52cd56ad63413d7cc9c465fe9033e131d2da5e392f038187f33582df18f2fce5bf21b6fdd2ff99ef05c15151b6ec
7
- data.tar.gz: 1767d99d1578bf9b3bdf41f1db0a10aaa88c088dd14a75fffd63ab44e8413e884173fa37364909eecae88a9f293e0a9dfdd87e10fec498b69e98b434da4e9d6e
6
+ metadata.gz: dac7014b3a66bd29265b6c3a3c6bc20f66b56737552bd0cab5cb03cf503a1e7c4c482189019c81db54b81729540a6d6388a68ddc8364f945c1ec1d845c93d3cd
7
+ data.tar.gz: 9eb09f4a99cac3929155a91f1516276351268c056b383fce0edc90173df6636c928db329d3f6a76689669195b2db0b99905ed32b6e274887697536d31df3f6d3
@@ -2,9 +2,10 @@ language: ruby
2
2
  rvm:
3
3
  - 2.1
4
4
  - 2.2
5
- - 2.3.3
6
- - 2.4.3
7
- - 2.5.0
5
+ - 2.3
6
+ - 2.4
7
+ - 2.5
8
+ - 2.6
8
9
  gemfile:
9
10
  - gemfiles/rspec_3.3.gemfile
10
11
  - gemfiles/rspec_3.4.gemfile
@@ -12,4 +13,3 @@ gemfile:
12
13
  - gemfiles/rspec_3.6.gemfile
13
14
  - gemfiles/rspec_3.7.gemfile
14
15
  cache: bundler
15
- sudo: false
data/README.md CHANGED
@@ -8,8 +8,8 @@ specified number of times until the example succeeds.
8
8
 
9
9
  | Rspec Version | Rspec-Retry Version |
10
10
  |---------------|---------------------|
11
- | > 3.8 | 0.6.1 but untested |
12
- | > 3.3, <= 3.8 | 0.6.1             |
11
+ | > 3.8 | 0.6.2 but untested |
12
+ | > 3.3, <= 3.8 | 0.6.2             |
13
13
  | 3.2       | 0.4.6             |
14
14
  | 2.14.8       | 0.4.4             |
15
15
 
@@ -1,3 +1,13 @@
1
+ # 0.6.2 - 2019-11-21
2
+ ## enhancements
3
+ expose `example.attempts` (in addition to `example.metadata[:attempts]`) (thanks @knu / #103)
4
+ expose `example.metadata[:retry_exceptions]` (thanks @drummond-work / #106)
5
+
6
+ ## bugfixes / cleanup
7
+ ci works again! (#107)
8
+ cleanup travis.yml (thanks @olleolleolle / #105)
9
+
10
+
1
11
  # 0.6.1 - 2018-06-11
2
12
  ## enhancements
3
13
  add more flexible method of retrying (thanks @varyform / #48)
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: ..
3
3
  specs:
4
- rspec-retry (0.6.1)
4
+ rspec-retry (0.6.2)
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.6.1)
4
+ rspec-retry (0.6.2)
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.6.1)
4
+ rspec-retry (0.6.2)
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.6.1)
4
+ rspec-retry (0.6.2)
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.6.1)
4
+ rspec-retry (0.6.2)
5
5
  rspec-core (> 3.3)
6
6
 
7
7
  GEM
@@ -118,6 +118,7 @@ module RSpec
118
118
  end
119
119
 
120
120
  example.metadata[:retry_attempts] = self.attempts
121
+ example.metadata[:retry_exceptions] ||= []
121
122
 
122
123
  example.clear_exception
123
124
  ex.run
@@ -126,6 +127,8 @@ module RSpec
126
127
 
127
128
  break if example.exception.nil?
128
129
 
130
+ example.metadata[:retry_exceptions] << example.exception
131
+
129
132
  break if attempts >= retry_count
130
133
 
131
134
  if exceptions_to_hard_fail.any?
@@ -1,5 +1,5 @@
1
1
  module RSpec
2
2
  class Retry
3
- VERSION = "0.6.1"
3
+ VERSION = "0.6.2"
4
4
  end
5
5
  end
@@ -11,6 +11,10 @@ module RSpec
11
11
  def run_with_retry(opts = {})
12
12
  RSpec::Retry.new(self, opts).run
13
13
  end
14
+
15
+ def attempts
16
+ @example.attempts
17
+ end
14
18
  end
15
19
  end
16
20
  end
@@ -163,6 +163,19 @@ describe RSpec::Retry do
163
163
 
164
164
  expect(retry_attempts).to eq(2)
165
165
  end
166
+
167
+ let(:retry_exceptions) do
168
+ example_group.examples.first.metadata[:retry_exceptions]
169
+ end
170
+
171
+ it 'should add exceptions into retry_exceptions metadata array' do
172
+ example_group.example { instance_eval($example_code) }
173
+ example_group.run
174
+
175
+ expect(retry_exceptions.count).to eq(2)
176
+ expect(retry_exceptions[0].class).to eq NameError
177
+ expect(retry_exceptions[1].class).to eq NameError
178
+ end
166
179
  end
167
180
 
168
181
  context "the example throws an exception contained in the retry list" do
@@ -319,6 +332,37 @@ describe RSpec::Retry do
319
332
  end
320
333
  end
321
334
 
335
+ describe 'Example::Procsy#attempts' do
336
+ let!(:example_group) do
337
+ RSpec.describe do
338
+ before :all do
339
+ @@results = {}
340
+ end
341
+
342
+ around do |example|
343
+ example.run_with_retry
344
+ @@results[example.description] = [example.exception.nil?, example.attempts]
345
+ end
346
+
347
+ specify 'without retry option' do
348
+ expect(true).to be(true)
349
+ end
350
+
351
+ specify 'with retry option', retry: 3 do
352
+ expect(true).to be(false)
353
+ end
354
+ end
355
+ end
356
+
357
+ it 'should be exposed' do
358
+ example_group.run
359
+ expect(example_group.class_variable_get(:@@results)).to eq({
360
+ 'without retry option' => [true, 1],
361
+ 'with retry option' => [false, 3]
362
+ })
363
+ end
364
+ end
365
+
322
366
  describe 'output in verbose mode' do
323
367
 
324
368
  line_1 = __LINE__ + 8
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.6.1
4
+ version: 0.6.2
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: 2018-06-11 00:00:00.000000000 Z
12
+ date: 2019-11-21 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec-core
@@ -133,8 +133,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
133
133
  - !ruby/object:Gem::Version
134
134
  version: '0'
135
135
  requirements: []
136
- rubyforge_project:
137
- rubygems_version: 2.7.6
136
+ rubygems_version: 3.0.3
138
137
  signing_key:
139
138
  specification_version: 4
140
139
  summary: retry intermittently failing rspec examples