sauce 3.0.2 → 3.0.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- NTE4ZGI3MzRiMmI0NGU4Yzc0NmI4MWJlYWNlMmVjYjFjNzIzZDAzZQ==
4
+ ZjY3NGFkODI1MThlZGQyZGFiODkzZTQ3NWIzYTI2NDg1ODU4MmVhZQ==
5
5
  data.tar.gz: !binary |-
6
- NmFiNDAxZDFiYTEyMzc5NDI0OWNkODk0NGExODRjM2ZkZjE1NjBjMw==
6
+ ZjkzM2U3NjRlMmY0MTk4ZjFmMGFmYjZlZDI4OGI0ZmE3NmJlZjc3Yw==
7
7
  !binary "U0hBNTEy":
8
8
  metadata.gz: !binary |-
9
- OWUyODZjYTViY2FkODk0MWM0OWUwMWQyNzc5ZGEyMmJiNDczZjU5ODMwYzhm
10
- M2UzNjcwNTNkNjIxZDBjZjkzMjExZDk1NGQxMWM1MWFjOTQ5MmQwMDIyYjgw
11
- NzUzMGVjYTBiOWE5N2ZhNWVkY2VmZjgyNzFmZmMxNTc0ZTQ0NzY=
9
+ NjM0Mjg5YjJhMGZhOTc1Nzk1N2YzYTM5YjQ2NWJlNDg4NDA0YjA0ZDJjMDNj
10
+ N2FkMzYxYWY1YmZiMGZiYTljZDhiYzZjZGRhMzg3NzE0NzVmZjllYTc1NTM5
11
+ ZDJjMDM0NTI0MTZkZDAxYjhmZWQ2NTEyMTMyYjI4NWYwZTVlOTg=
12
12
  data.tar.gz: !binary |-
13
- OWRkZWE4Y2U4MGNmZmQ4ZDczM2FhOTM3MWMwZDdmYzIzYTQ4YjMxYzBlNzNj
14
- MzNmMGFhMDc2ODdkNTcxZDA0NDlhZTg5Mzg1YzVmZDFmNjQ0NDVmNDJmOGE3
15
- OGU1OWFlNTIyY2IyMWVhZGIwYWMyYmIwY2ViNzg2MDMwOWNjODc=
13
+ MjRhOWNjY2JkYzY5N2RhZjNkYzU5YjUxOTQ0NjkzYmE3YWQ5ZGNhNWE4MTll
14
+ NDM2YTJiODc1OTY3ZmM0YTUwMmE2YzE3ZDczNWU0NWE0NGIzNjQ2MThkZDA4
15
+ Yzg5MTc1MDczNWQxOWYwNWY5NmY2NDM0YWRhNjQ0MjA3NzQxZWY=
@@ -5,10 +5,12 @@ module ParallelTests
5
5
 
6
6
  report_time_taken do
7
7
  groups = @runner.tests_in_groups(options[:files], num_processes, options)
8
- Sauce::TestBroker.test_groups = groups
9
- report_number_of_tests(groups)
8
+ non_empty_groups = groups.reject {|group| group.empty?}
9
+ Sauce::TestBroker.test_groups = non_empty_groups
10
10
 
11
- test_results = execute_in_parallel(groups, groups.size, options) do |group|
11
+ report_number_of_tests(non_empty_groups)
12
+
13
+ test_results = execute_in_parallel(non_empty_groups, non_empty_groups.size, options) do |group|
12
14
  run_tests(group, Sauce::TestBroker.group_index(group), num_processes, options)
13
15
  end
14
16
 
@@ -1,5 +1,6 @@
1
1
  require 'sauce/version'
2
2
  require 'sauce/utilities'
3
+ require 'sauce/utilities/rake'
3
4
  require 'sauce/job'
4
5
  require 'sauce/client'
5
6
  require 'sauce/config'
@@ -7,8 +7,9 @@ module Sauce
7
7
  yield get_config
8
8
  end
9
9
 
10
- def self.get_config
11
- @cfg ||= Sauce::Config.new(false)
10
+ def self.get_config(default = false)
11
+ get_default = default == :default ? {} : false
12
+ @cfg ||= Sauce::Config.new(get_default)
12
13
  end
13
14
 
14
15
  def self.clear_config
@@ -22,9 +23,6 @@ module Sauce
22
23
  :host => "ondemand.saucelabs.com",
23
24
  :port => 80,
24
25
  :browser_url => "http://saucelabs.com",
25
- :os => "Windows 2003",
26
- :browser => "firefox",
27
- :browser_version => "3.6.",
28
26
  :job_name => "Unnamed Ruby job",
29
27
  :local_application_port => "3001",
30
28
  :capture_traffic => false,
@@ -32,6 +30,15 @@ module Sauce
32
30
  :start_local_application => true
33
31
  }
34
32
 
33
+ DEFAULT_BROWSERS = {
34
+ :browsers => [
35
+ ["Windows 8", "Internet Explorer", "10"],
36
+ ["Windows 7", "Firefox", "20"],
37
+ ["OS X 10.8", "Safari", "6"],
38
+ ["Linux", "Chrome", nil]
39
+ ]
40
+ }
41
+
35
42
  ENVIRONMENT_VARIABLES = %w{SAUCE_HOST SAUCE_PORT SAUCE_BROWSER_URL SAUCE_USERNAME
36
43
  SAUCE_ACCESS_KEY SAUCE_OS SAUCE_BROWSER SAUCE_BROWSER_VERSION SAUCE_JOB_NAME
37
44
  SAUCE_FIREFOX_PROFILE_URL SAUCE_USER_EXTENSIONS_URL
@@ -56,6 +63,7 @@ module Sauce
56
63
  @undefaulted_opts = {}
57
64
  if opts != false
58
65
  @opts.merge! DEFAULT_OPTIONS
66
+ @opts.merge! DEFAULT_BROWSERS
59
67
 
60
68
  @undefaulted_opts.merge! load_options_from_yaml
61
69
  @undefaulted_opts.merge! load_options_from_environment
@@ -71,6 +79,7 @@ module Sauce
71
79
  end
72
80
 
73
81
  def []=(key, value)
82
+ @undefaulted_opts.merge!({key => value})
74
83
  @opts[key] = value
75
84
  end
76
85
 
@@ -134,6 +143,7 @@ module Sauce
134
143
  # sub-processes pointed just at each browser in the list.
135
144
  return [[os, browser, browser_version]]
136
145
  end
146
+
137
147
  return @opts[:browsers] if @opts.include? :browsers
138
148
  return [[os, browser, browser_version]]
139
149
  end
@@ -97,11 +97,11 @@ begin
97
97
  })
98
98
  ::RSpec.configuration.include(self, :sauce => true)
99
99
 
100
- ::RSpec.configuration.before(:suite, sauce: true) do
100
+ ::RSpec.configuration.before(:suite, :sauce => true) do
101
101
 
102
102
  config = Sauce::Config.new
103
103
  if config[:application_host]
104
- Sauce::Utilities::Connect.start(:host => config[:application_host], :port => config[:application_port] || 80)
104
+ Sauce::Utilities::Connect.start(:host => config[:application_host], :port => config[:application_port] || 80, :quiet => true)
105
105
  end
106
106
 
107
107
  if config[:start_local_application] &&
@@ -124,7 +124,7 @@ begin
124
124
  end
125
125
 
126
126
  if need_tunnel || config[:start_tunnel]
127
- Sauce::Utilities::Connect.start(:host => config[:application_host], :port => config[:application_port] || 80)
127
+ Sauce::Utilities::Connect.start(:host => config[:application_host], :port => config[:application_port] || 80, :quiet => true)
128
128
  end
129
129
 
130
130
  if config[:start_local_application] &&
@@ -115,5 +115,6 @@ module Sauce
115
115
  end
116
116
  end
117
117
  end
118
+
118
119
  end
119
120
  end
@@ -0,0 +1,27 @@
1
+ module Sauce
2
+ module Utilities
3
+ module Rake
4
+
5
+ def self.sauce_helper
6
+ helper_text = <<-ENDHEADER
7
+ # You should edit this file with the browsers you wish to use
8
+ # For options, check out http://saucelabs.com/docs/platforms
9
+ require "sauce"
10
+ ENDHEADER
11
+
12
+ helper_text << "require \"sauce/capybara\"" if Object.const_defined? "Capybara"
13
+ helper_text << <<-ENDFILE
14
+
15
+ Sauce.config do |config|
16
+ config[:browsers] = [
17
+ ["OS", "BROWSER", "VERSION"],
18
+ ["OS", "BROWSER", "VERSION"]
19
+ ]
20
+ end
21
+ ENDFILE
22
+
23
+ return helper_text
24
+ end
25
+ end
26
+ end
27
+ end
@@ -1,6 +1,6 @@
1
1
  module Sauce
2
2
  MAJOR_VERSION = '3.0'
3
- PATCH_VERSION = '2'
3
+ PATCH_VERSION = '4'
4
4
 
5
5
  def version
6
6
  "#{MAJOR_VERSION}.#{PATCH_VERSION}"
@@ -66,19 +66,7 @@ namespace :sauce do
66
66
  path = args[:helper_type].to_sym == :features ? "features/support/sauce_helper.rb" : "spec/sauce_helper.rb"
67
67
  unless File.exists? path
68
68
  File.open(path, "w") do |f|
69
- f.write (<<-ENDFILE
70
- # You should edit this file with the browsers you wish to use
71
- # For options, check out http://saucelabs.com/docs/platforms
72
- require "sauce"
73
-
74
- Sauce.config do |config|
75
- config[:browsers] = [
76
- ["OS", "BROWSER", "VERSION"],
77
- ["OS", "BROWSER", "VERSION"]
78
- ]
79
- end
80
- ENDFILE
81
- )
69
+ f.write(Sauce::Utilities::Rake.sauce_helper)
82
70
  end
83
71
  else
84
72
  STDERR.puts "WARNING - sauce_helper has already been created."
@@ -280,29 +280,6 @@ describe Sauce::Config do
280
280
  c.some_option?.should be true
281
281
  end
282
282
 
283
- describe 'browsers=' do
284
- it 'should default the config to the first item' do
285
- Sauce.config do |config|
286
- config[:browsers] = [['TEST_OS', 'TEST_BROWSER', 'TEST_BROWSER_VERSION']]
287
- end
288
-
289
- c = Sauce::Config.new
290
- c.os.should == 'TEST_OS'
291
- c.browser.should == 'TEST_BROWSER'
292
- c.browser_version == 'TEST_BROWSER_VERSION'
293
- end
294
- end
295
-
296
- describe 'browsers' do
297
- it 'should return an Array of the (os, browser, version)' do
298
- c.os = 'A'
299
- c.browser = 'B'
300
- c.browser_version = 'C'
301
-
302
- c.browsers.should == [['A', 'B', 'C']]
303
- end
304
- end
305
-
306
283
  it 'should allow overrides as constructor options' do
307
284
  Sauce.config do |config|
308
285
  config[:browsers] = [['OS1', 'BROWSER1', 'BROWSER_VERSION1']]
@@ -0,0 +1,46 @@
1
+ require "rspec"
2
+
3
+ describe "Sauce::Config :browsers" do
4
+ before :each do
5
+ Sauce.clear_config
6
+ end
7
+
8
+ context "When unset" do
9
+ it "defaults to the tutorial browsers" do
10
+ tutorial_browsers = [
11
+ ["Windows 8", "Internet Explorer", "10"],
12
+ ["Windows 7", "Firefox", "20"],
13
+ ["OS X 10.8", "Safari", "6"],
14
+ ["Linux", "Chrome", nil]
15
+ ]
16
+
17
+ Sauce::Config.new[:browsers].should eq tutorial_browsers
18
+ end
19
+ end
20
+
21
+ context "When set" do
22
+ before :each do
23
+ Sauce.clear_config
24
+
25
+ Sauce.config do |config|
26
+ config[:browsers] = [['TEST_OS', 'TEST_BROWSER', 'TEST_BROWSER_VERSION']]
27
+ end
28
+ end
29
+
30
+ it 'should default the config to the first item' do
31
+ c = Sauce::Config.new
32
+ c.os.should == 'TEST_OS'
33
+ c.browser.should == 'TEST_BROWSER'
34
+ c.browser_version == 'TEST_BROWSER_VERSION'
35
+ end
36
+
37
+ it 'should return an Array of the (os, browser, version)' do
38
+ c = Sauce::Config.new
39
+ c[:os] = 'A'
40
+ c[:browser] = 'B'
41
+ c[:browser_version] = 'C'
42
+
43
+ c.browsers.should == [['A', 'B', 'C']]
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,18 @@
1
+ require "spec_helper"
2
+
3
+ describe "Sauce" do
4
+ before :each do
5
+ Sauce.clear_config
6
+ end
7
+
8
+ describe "#get_config" do
9
+ it "returns an empty config by default" do
10
+ Sauce.get_config.opts.should eq Sauce::Config.new(false).opts
11
+ end
12
+
13
+ it "Can return default options" do
14
+ Sauce.get_config(:default).opts.should eq Sauce::Config.new().opts
15
+ Sauce.get_config(:default).opts.length.should_not eq 0
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,49 @@
1
+ require "spec_helper"
2
+
3
+ describe Sauce::Utilities::Rake do
4
+
5
+ describe "#create_sauce_helper" do
6
+ after :all do
7
+ Object.rspec_reset
8
+ end
9
+
10
+ context "with Capybara" do
11
+ before :all do
12
+ Object.stub(:const_defined?).with("Capybara").and_return true
13
+ end
14
+
15
+ it "includes the browser block" do
16
+ Sauce::Utilities::Rake.sauce_helper.should include browser_block
17
+ end
18
+
19
+ it "includes the require for sauce" do
20
+ Sauce::Utilities::Rake.sauce_helper.should include "require \"sauce\""
21
+ end
22
+
23
+ it "does not include Capybara" do
24
+ Sauce::Utilities::Rake.sauce_helper.should include "require \"sauce/capybara\""
25
+ end
26
+ end
27
+
28
+ context "without Capybara" do
29
+ before :all do
30
+ Object.stub(:const_defined?).with("Capybara").and_return false
31
+ end
32
+
33
+ it "includes the require for sauce/capybara" do
34
+ Sauce::Utilities::Rake.sauce_helper.should_not include "require \"sauce/capybara\""
35
+ end
36
+ end
37
+ end
38
+
39
+ def browser_block
40
+ return <<-ENDFILE
41
+ Sauce.config do |config|
42
+ config[:browsers] = [
43
+ ["OS", "BROWSER", "VERSION"],
44
+ ["OS", "BROWSER", "VERSION"]
45
+ ]
46
+ end
47
+ ENDFILE
48
+ end
49
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sauce
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.2
4
+ version: 3.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dylan Lacey
@@ -13,7 +13,7 @@ authors:
13
13
  autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
- date: 2013-06-12 00:00:00.000000000 Z
16
+ date: 2013-06-24 00:00:00.000000000 Z
17
17
  dependencies:
18
18
  - !ruby/object:Gem::Dependency
19
19
  name: capybara
@@ -187,16 +187,16 @@ dependencies:
187
187
  name: sauce_whisk
188
188
  requirement: !ruby/object:Gem::Requirement
189
189
  requirements:
190
- - - '='
190
+ - - ~>
191
191
  - !ruby/object:Gem::Version
192
- version: 0.0.3
192
+ version: 0.0.8
193
193
  type: :runtime
194
194
  prerelease: false
195
195
  version_requirements: !ruby/object:Gem::Requirement
196
196
  requirements:
197
- - - '='
197
+ - - ~>
198
198
  - !ruby/object:Gem::Version
199
- version: 0.0.3
199
+ version: 0.0.8
200
200
  description: A Ruby helper for running tests in Sauce Labs' browser testing cloud
201
201
  service
202
202
  email: help@saucelabs.com
@@ -222,6 +222,7 @@ files:
222
222
  - lib/sauce/parallel.rb
223
223
  - lib/sauce/raketasks.rb
224
224
  - lib/sauce/selenium.rb
225
+ - lib/sauce/utilities/rake.rb
225
226
  - lib/sauce/utilities.rb
226
227
  - lib/sauce/version.rb
227
228
  - lib/sauce.rb
@@ -240,13 +241,16 @@ files:
240
241
  - spec/parallel_tests/sauce_rspec_runner_spec.rb
241
242
  - spec/sauce/capybara_spec.rb
242
243
  - spec/sauce/config/config_spec.rb
244
+ - spec/sauce/config/default_browsers_spec.rb
243
245
  - spec/sauce/config/environment_config_spec.rb
246
+ - spec/sauce/config/load_defaults_spec.rb
244
247
  - spec/sauce/cucumber_spec.rb
245
248
  - spec/sauce/driver_pool_spec.rb
246
249
  - spec/sauce/jasmine_spec.rb
247
250
  - spec/sauce/parallel/test_broker_spec.rb
248
251
  - spec/sauce/selenium_spec.rb
249
- - spec/sauce/utilities_spec.rb
252
+ - spec/sauce/utilities/rake_spec.rb
253
+ - spec/sauce/utilities/utilities_spec.rb
250
254
  - spec/sauce_helper.rb
251
255
  - spec/spec_helper.rb
252
256
  - bin/sauce
@@ -288,12 +292,16 @@ test_files:
288
292
  - spec/parallel_tests/sauce_rspec_runner_spec.rb
289
293
  - spec/sauce/capybara_spec.rb
290
294
  - spec/sauce/config/config_spec.rb
295
+ - spec/sauce/config/default_browsers_spec.rb
291
296
  - spec/sauce/config/environment_config_spec.rb
297
+ - spec/sauce/config/load_defaults_spec.rb
292
298
  - spec/sauce/cucumber_spec.rb
293
299
  - spec/sauce/driver_pool_spec.rb
294
300
  - spec/sauce/jasmine_spec.rb
295
301
  - spec/sauce/parallel/test_broker_spec.rb
296
302
  - spec/sauce/selenium_spec.rb
297
- - spec/sauce/utilities_spec.rb
303
+ - spec/sauce/utilities/rake_spec.rb
304
+ - spec/sauce/utilities/utilities_spec.rb
298
305
  - spec/sauce_helper.rb
299
306
  - spec/spec_helper.rb
307
+ has_rdoc: