xamarin-test-cloud 1.1.1 → 1.1.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
  SHA1:
3
- metadata.gz: ec0edc792af50fb0dad0d52f46e083cf16e1910c
4
- data.tar.gz: 6948d0fe557738b1cd245563204e266b3fad3431
3
+ metadata.gz: d11eb39a746ce84d8cb000b9c65304a65fd24501
4
+ data.tar.gz: 619c93a8ecd27ec6b3dcd98215f8568690e2cfe6
5
5
  SHA512:
6
- metadata.gz: 46881134ff8500aa412ee302d6e50203ce0ec9477b37ae159a03a8c7a02c5147c993c8aa7c59563f23eaa21a59047e685f1d22b49715cdd7063fc6463ab40d10
7
- data.tar.gz: 5bc086e7a6dfd12f8e65b28c27a9aaa5c52d3cca58dfbb82829f7f43cd662998f8e479729c5839cff80f26ed8fb36fb94807e35b7a2817844598786385865d3f
6
+ metadata.gz: d03e7dd12775e26b3c5ae568b75880da1dfb0a0d1fe7ef81650e0f49a881c196f6c8970be0cf718e85166146b36b978c9345e6713ed26fce86f55774b0032164
7
+ data.tar.gz: 7e0185532379f1296bfc38e38bbf305db426fd454464e54529ad56bbb685371ea71940834d9ae4b86c4d626898ce899c830e63af8935f7e948d70db6ddb27f6c
@@ -1,5 +1,5 @@
1
1
  require 'retriable'
2
- require 'retriable/version' # needed in 1.x. In 2.x auto required.
2
+ require 'retriable/version'
3
3
 
4
4
  module XamarinTestCloud
5
5
  # A class to bridge the gap between retriable 1.x and 2.0.
@@ -25,3 +25,22 @@ module XamarinTestCloud
25
25
  end
26
26
  end
27
27
 
28
+ # Only in retriable 1.4.0 (so far).
29
+ unless Retriable.public_instance_methods.include?(:retriable)
30
+ require 'retriable/retry'
31
+ module Retriable
32
+ extend self
33
+
34
+ def retriable(opts = {}, &block)
35
+ raise LocalJumpError unless block_given?
36
+
37
+ Retry.new do |r|
38
+ r.tries = opts[:tries] if opts[:tries]
39
+ r.on = opts[:on] if opts[:on]
40
+ r.interval = opts[:interval] if opts[:interval]
41
+ r.timeout = opts[:timeout] if opts[:timeout]
42
+ r.on_retry = opts[:on_retry] if opts[:on_retry]
43
+ end.perform(&block)
44
+ end
45
+ end
46
+ end
@@ -1,3 +1,3 @@
1
1
  module XamarinTestCloud
2
- VERSION = '1.1.1'
2
+ VERSION = '1.1.2'
3
3
  end
@@ -0,0 +1,51 @@
1
+ module XamarinTestCloud
2
+ module Cukes
3
+ module Retriable
4
+
5
+ class Error < StandardError
6
+ end
7
+
8
+ def method_that_raises(n)
9
+ unless n >= 3
10
+ raise XamarinTestCloud::Cukes::Retriable::Error, "n: '#{n}' argument is < 3"
11
+ end
12
+ true
13
+ end
14
+ end
15
+ end
16
+ end
17
+
18
+ World(XamarinTestCloud::Cukes::Retriable)
19
+
20
+ Then(/^I call retriable$/) do
21
+
22
+ tries = 5
23
+ interval = 0.05
24
+
25
+ on_retry = Proc.new do |_, try, elapsed_time, next_interval|
26
+ if elapsed_time && next_interval
27
+ puts "Updating device state attempt #{try} failed in '#{elapsed_time}'; will retry in '#{next_interval}'"
28
+ else
29
+ puts "Updating device state attempt #{try} failed; will retry in #{interval}"
30
+ end
31
+ end
32
+
33
+ on_opts =
34
+ {
35
+ :on_retry => on_retry,
36
+ :on => [XamarinTestCloud::Cukes::Retriable::Error]
37
+ }
38
+
39
+ retry_opts = XamarinTestCloud::RetriableOptions.tries_and_interval(tries, interval)
40
+
41
+ opts = on_opts.merge(retry_opts)
42
+
43
+ counter = 0
44
+ Retriable.retriable(opts) do
45
+ begin
46
+ method_that_raises(counter)
47
+ ensure
48
+ counter = counter + 1
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,2 @@
1
+ require 'xamarin-test-cloud/version'
2
+ require 'xamarin-test-cloud/retriable_options'
@@ -0,0 +1,56 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'open3'
4
+ require 'fileutils'
5
+
6
+ if RUBY_VERSION.to_i == 1
7
+ retriable_versions = ['1.3.3.1', '1.4.0', '1.4.1', '~> 1.3.3.1', ">= 1.3.3.1', '< 2.1"]
8
+ else
9
+ retriable_versions = ['1.3.3.1', '1.4.0', '1.4.1', '2.0.0', '2.0.1', '2.0.2', ">= 1.3.3.1', '< 2.1"]
10
+ end
11
+
12
+ system('rake', *['install'])
13
+
14
+ working_dir = File.dirname(__FILE__)
15
+
16
+ def log_header(message)
17
+ if RbConfig::CONFIG['host_os'] =~ /mswin|mingw|cygwin/
18
+ puts "\n### #{message} ###"
19
+ else
20
+ puts "\n\e[#{35}m### #{message} ###\e[0m"
21
+ end
22
+ end
23
+
24
+ Dir.chdir working_dir do
25
+
26
+ retriable_versions.each do |version|
27
+
28
+ log_header("Testing retriable version '#{version}'")
29
+
30
+ FileUtils.rm_f('Gemfile.lock')
31
+
32
+ File.open('Gemfile', 'w') do |file|
33
+ file.puts "source 'https://rubygems.org'"
34
+ file.puts "gem 'retriable', '#{version}'"
35
+ file.puts "gem 'cucumber', '~> 1.3'"
36
+ file.puts "gem 'xamarin-test-cloud'"
37
+ end
38
+
39
+ env = { 'BUNDLE_GEMFILE' => 'Gemfile' }
40
+
41
+ system(env, 'bundle', *['install'], {:out => '/dev/null'})
42
+
43
+ exit_status = $?.exitstatus
44
+ unless exit_status == 0
45
+ puts "Could not bundle: exiting '#{exit_status}'"
46
+ exit exit_status
47
+ end
48
+
49
+ system(env, 'bundle', *['exec','cucumber'])
50
+ exit_status = $?.exitstatus
51
+ unless exit_status == 0
52
+ puts "Cucumbers failed for retriable '#{version}': exiting '#{exit_status}'"
53
+ exit exit_status
54
+ end
55
+ end
56
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: xamarin-test-cloud
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.1
4
+ version: 1.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Karl Krukow
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-03-30 00:00:00.000000000 Z
12
+ date: 2015-09-03 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: thor
@@ -93,20 +93,6 @@ dependencies:
93
93
  - - "~>"
94
94
  - !ruby/object:Gem::Version
95
95
  version: '1.6'
96
- - !ruby/object:Gem::Dependency
97
- name: mime-types
98
- requirement: !ruby/object:Gem::Requirement
99
- requirements:
100
- - - "<"
101
- - !ruby/object:Gem::Version
102
- version: '2.0'
103
- type: :runtime
104
- prerelease: false
105
- version_requirements: !ruby/object:Gem::Requirement
106
- requirements:
107
- - - "<"
108
- - !ruby/object:Gem::Version
109
- version: '2.0'
110
96
  - !ruby/object:Gem::Dependency
111
97
  name: retriable
112
98
  requirement: !ruby/object:Gem::Requirement
@@ -280,6 +266,9 @@ files:
280
266
  - test/ipa/features/support/env.rb
281
267
  - test/ipa/features/support/hooks.rb
282
268
  - test/ipa/features/support/launch.rb
269
+ - test/retriable/features/step_definitions/retriable_steps.rb
270
+ - test/retriable/features/support/env.rb
271
+ - test/retriable/run-tests.rb
283
272
  - test/test_parser.rb
284
273
  homepage: http://xamarin.com/test-cloud
285
274
  licenses: []
@@ -300,7 +289,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
300
289
  version: '0'
301
290
  requirements: []
302
291
  rubyforge_project:
303
- rubygems_version: 2.2.2
292
+ rubygems_version: 2.4.8
304
293
  signing_key:
305
294
  specification_version: 4
306
295
  summary: Command-line interface to Xamarin Test Cloud
@@ -310,5 +299,7 @@ test_files:
310
299
  - test/ipa/features/support/env.rb
311
300
  - test/ipa/features/support/hooks.rb
312
301
  - test/ipa/features/support/launch.rb
302
+ - test/retriable/features/step_definitions/retriable_steps.rb
303
+ - test/retriable/features/support/env.rb
304
+ - test/retriable/run-tests.rb
313
305
  - test/test_parser.rb
314
- has_rdoc: