calabash-cucumber 0.9.145.pre2 → 0.9.145.pre3
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.
@@ -42,5 +42,7 @@ end
|
|
42
42
|
|
43
43
|
at_exit do
|
44
44
|
launcher = Calabash::Cucumber::Launcher.new
|
45
|
-
|
45
|
+
if launcher.simulator_target?
|
46
|
+
Calabash::Cucumber::SimulatorHelper.stop unless launcher.calabash_no_stop?
|
47
|
+
end
|
46
48
|
end
|
@@ -7,7 +7,10 @@ module Calabash
|
|
7
7
|
|
8
8
|
DATA_PATH = File.expand_path(File.dirname(__FILE__))
|
9
9
|
CAL_HTTP_RETRY_COUNT=3
|
10
|
-
RETRYABLE_ERRORS = [
|
10
|
+
RETRYABLE_ERRORS = [HTTPClient::TimeoutError,
|
11
|
+
HTTPClient::KeepAliveDisconnected,
|
12
|
+
Errno::ECONNREFUSED, Errno::ECONNRESET, Errno::ECONNABORTED,
|
13
|
+
Errno::ETIMEDOUT]
|
11
14
|
|
12
15
|
def macro(txt)
|
13
16
|
if self.respond_to? :step
|
@@ -466,10 +469,11 @@ EOF
|
|
466
469
|
|
467
470
|
def calabash_exit
|
468
471
|
# Exiting the app shuts down the HTTP connection and generates ECONNREFUSED,
|
472
|
+
# or HTTPClient::KeepAliveDisconnected
|
469
473
|
# which needs to be suppressed.
|
470
474
|
begin
|
471
|
-
http({:method =>:post, :path => 'exit', :retryable_errors => RETRYABLE_ERRORS - [Errno::ECONNREFUSED]})
|
472
|
-
rescue Errno::ECONNREFUSED
|
475
|
+
http({:method =>:post, :path => 'exit', :retryable_errors => RETRYABLE_ERRORS - [Errno::ECONNREFUSED,HTTPClient::KeepAliveDisconnected]})
|
476
|
+
rescue Errno::ECONNREFUSED, HTTPClient::KeepAliveDisconnected
|
473
477
|
[]
|
474
478
|
end
|
475
479
|
end
|
@@ -548,6 +552,7 @@ EOF
|
|
548
552
|
end
|
549
553
|
|
550
554
|
def make_http_request(options)
|
555
|
+
|
551
556
|
body = nil
|
552
557
|
retryable_errors = options[:retryable_errors] || RETRYABLE_ERRORS
|
553
558
|
CAL_HTTP_RETRY_COUNT.times do |count|
|
@@ -561,29 +566,20 @@ EOF
|
|
561
566
|
body = @http.get(options[:uri], options[:body]).body
|
562
567
|
end
|
563
568
|
break
|
564
|
-
rescue
|
565
|
-
if count < CAL_HTTP_RETRY_COUNT-1
|
566
|
-
@http.reset_all
|
567
|
-
@http=nil
|
568
|
-
STDOUT.write "Waiting 5 secs before retry...\n"
|
569
|
-
sleep(5)
|
570
|
-
STDOUT.write "Retrying.. #{e.class}: (#{e})\n"
|
571
|
-
STDOUT.flush
|
569
|
+
rescue Exception => e
|
572
570
|
|
573
|
-
|
574
|
-
puts "Failing... #{e.class}"
|
575
|
-
raise e
|
576
|
-
end
|
571
|
+
if retryable_errors.include?(e) || retryable_errors.any?{|c| e.is_a?(c)}
|
577
572
|
|
578
|
-
rescue Exception => e
|
579
|
-
if retryable_errors.include?(e)
|
580
573
|
if count < CAL_HTTP_RETRY_COUNT-1
|
581
|
-
|
574
|
+
if e.is_a?(HTTPClient::TimeoutError)
|
575
|
+
sleep(3)
|
576
|
+
else
|
577
|
+
sleep(0.5)
|
578
|
+
end
|
582
579
|
@http.reset_all
|
583
580
|
@http=nil
|
584
581
|
STDOUT.write "Retrying.. #{e.class}: (#{e})\n"
|
585
582
|
STDOUT.flush
|
586
|
-
|
587
583
|
else
|
588
584
|
puts "Failing... #{e.class}"
|
589
585
|
raise e
|
@@ -25,7 +25,7 @@ class Calabash::Cucumber::Launcher
|
|
25
25
|
end
|
26
26
|
|
27
27
|
def device_target?
|
28
|
-
ENV['DEVICE_TARGET']
|
28
|
+
(ENV['DEVICE_TARGET'] != nil) && (not simulator_target?)
|
29
29
|
end
|
30
30
|
|
31
31
|
def simulator_target?
|
@@ -68,6 +68,10 @@ class Calabash::Cucumber::Launcher
|
|
68
68
|
|
69
69
|
if device_target?
|
70
70
|
default_args = {:app => ENV['BUNDLE_ID']}
|
71
|
+
target = ENV['DEVICE_TARGET']
|
72
|
+
if target != 'DEVICE'
|
73
|
+
default_args[:udid] = target
|
74
|
+
end
|
71
75
|
self.run_loop = RunLoop.run(default_args.merge(args))
|
72
76
|
else
|
73
77
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: calabash-cucumber
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.145.
|
4
|
+
version: 0.9.145.pre3
|
5
5
|
prerelease: 8
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-05-
|
12
|
+
date: 2013-05-13 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: cucumber
|