watirgrid 1.0.3 → 1.0.4.pre
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.
- data/Rakefile +1 -1
- data/bin/controller +1 -1
- data/bin/listener +25 -0
- data/lib/listener.rb +40 -0
- data/lib/provider.rb +2 -0
- data/lib/watirgrid.rb +1 -0
- data/watirgrid.gemspec +6 -4
- metadata +15 -9
data/Rakefile
CHANGED
@@ -9,7 +9,7 @@ begin
|
|
9
9
|
gem.email = "tim.koops@gmail.com"
|
10
10
|
gem.homepage = "http://github.com/90kts/watirgrid"
|
11
11
|
gem.authors = ["Tim Koopmans"]
|
12
|
-
gem.version = "1.0.
|
12
|
+
gem.version = "1.0.4.pre"
|
13
13
|
end
|
14
14
|
rescue LoadError
|
15
15
|
puts "Jeweler (or a dependency) not available. Install it with: sudo gem install jeweler"
|
data/bin/controller
CHANGED
data/bin/listener
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
require 'rubygems'
|
3
|
+
require 'controller'
|
4
|
+
require 'provider'
|
5
|
+
require 'listener'
|
6
|
+
require 'optparse'
|
7
|
+
|
8
|
+
options = {}
|
9
|
+
OptionParser.new do |opts|
|
10
|
+
opts.banner = "Usage: listener [options]"
|
11
|
+
opts.separator ""
|
12
|
+
opts.separator "Specific options:"
|
13
|
+
opts.on("-c URI", "--controller-uri", String,
|
14
|
+
"Specify Controller URI e.g. druby://127.0.0.1:11235 to listen in on") do |h|
|
15
|
+
options[:controller_uri] = h || nil
|
16
|
+
end
|
17
|
+
opts.on_tail("-h", "--help", "Show this message") do
|
18
|
+
puts opts
|
19
|
+
exit
|
20
|
+
end
|
21
|
+
end.parse!
|
22
|
+
|
23
|
+
listener = Listener.new(:controller_uri => options[:controller_uri])
|
24
|
+
listener.start
|
25
|
+
DRb.thread.join
|
data/lib/listener.rb
ADDED
@@ -0,0 +1,40 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# listener.rb
|
3
|
+
# Controller Listener (for debugging)
|
4
|
+
|
5
|
+
require 'rinda/ring'
|
6
|
+
|
7
|
+
class Listener
|
8
|
+
|
9
|
+
def initialize(params = {})
|
10
|
+
@controller_uri = params[:controller_uri]
|
11
|
+
logfile = STDOUT
|
12
|
+
@log = Logger.new(logfile, 'daily')
|
13
|
+
@log.level = Logger::DEBUG
|
14
|
+
@log.datetime_format = "%Y-%m-%d %H:%M:%S "
|
15
|
+
end
|
16
|
+
|
17
|
+
def start
|
18
|
+
DRb.start_service
|
19
|
+
ring_server = DRbObject.new(nil, @controller_uri)
|
20
|
+
service = ring_server.read([:WatirGrid, nil, nil, nil, nil, nil, nil])
|
21
|
+
observers = []
|
22
|
+
observers << ring_server.notify('write',[:WatirGrid, nil, nil, nil, nil, nil, nil], nil)
|
23
|
+
observers << ring_server.notify('take', [:WatirGrid, nil, nil, nil, nil, nil, nil], nil)
|
24
|
+
observers << ring_server.notify('delete', [:WatirGrid, nil, nil, nil, nil, nil, nil], nil)
|
25
|
+
@log.debug("Listener started on : #{@controller_uri}")
|
26
|
+
threads = []
|
27
|
+
observers.each do |observer|
|
28
|
+
threads << Thread.new do
|
29
|
+
observer.each do |event|
|
30
|
+
@log.debug(event.inspect)
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
# abort all threads on an exception
|
35
|
+
Thread.abort_on_exception = true
|
36
|
+
|
37
|
+
# wait for explicit stop via ctrl-c
|
38
|
+
DRb.thread.join if __FILE__ == $0
|
39
|
+
end
|
40
|
+
end
|
data/lib/provider.rb
CHANGED
@@ -156,7 +156,9 @@ class Provider
|
|
156
156
|
# Start providing watir objects on the ring server
|
157
157
|
def start
|
158
158
|
# create a DRb 'front' object
|
159
|
+
@log.debug("About to create a watir_provider")
|
159
160
|
watir_provider = Watir::Provider.new(@browser_type)
|
161
|
+
@log.debug("watir_provider is #{watir_provider}")
|
160
162
|
architecture = Config::CONFIG['arch']
|
161
163
|
hostname = ENV['SERVER_NAME'] || %x{hostname}.strip
|
162
164
|
|
data/lib/watirgrid.rb
CHANGED
data/watirgrid.gemspec
CHANGED
@@ -5,14 +5,14 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{watirgrid}
|
8
|
-
s.version = "1.0.
|
8
|
+
s.version = "1.0.4.pre"
|
9
9
|
|
10
|
-
s.required_rubygems_version = Gem::Requirement.new("
|
10
|
+
s.required_rubygems_version = Gem::Requirement.new("> 1.3.1") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Tim Koopmans"]
|
12
|
-
s.date = %q{2011-04-
|
12
|
+
s.date = %q{2011-04-08}
|
13
13
|
s.description = %q{WatirGrid allows for distributed testing across a grid network using Watir.}
|
14
14
|
s.email = %q{tim.koops@gmail.com}
|
15
|
-
s.executables = ["controller", "provider"]
|
15
|
+
s.executables = ["controller", "listener", "provider"]
|
16
16
|
s.extra_rdoc_files = [
|
17
17
|
"LICENSE",
|
18
18
|
"README.rdoc"
|
@@ -25,6 +25,7 @@ Gem::Specification.new do |s|
|
|
25
25
|
"README.rdoc",
|
26
26
|
"Rakefile",
|
27
27
|
"bin/controller",
|
28
|
+
"bin/listener",
|
28
29
|
"bin/provider",
|
29
30
|
"examples/basic/example_safariwatir.rb",
|
30
31
|
"examples/basic/example_webdriver.rb",
|
@@ -33,6 +34,7 @@ Gem::Specification.new do |s|
|
|
33
34
|
"examples/cucumber/step_definitions/example_steps.rb",
|
34
35
|
"lib/controller.rb",
|
35
36
|
"lib/extensions/remote.rb",
|
37
|
+
"lib/listener.rb",
|
36
38
|
"lib/provider.rb",
|
37
39
|
"lib/watirgrid.rb",
|
38
40
|
"rdoc/logo.png",
|
metadata
CHANGED
@@ -1,13 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: watirgrid
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
5
|
-
prerelease:
|
4
|
+
hash: 961915972
|
5
|
+
prerelease: 6
|
6
6
|
segments:
|
7
7
|
- 1
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
|
9
|
+
- 4
|
10
|
+
- pre
|
11
|
+
version: 1.0.4.pre
|
11
12
|
platform: ruby
|
12
13
|
authors:
|
13
14
|
- Tim Koopmans
|
@@ -15,7 +16,7 @@ autorequire:
|
|
15
16
|
bindir: bin
|
16
17
|
cert_chain: []
|
17
18
|
|
18
|
-
date: 2011-04-
|
19
|
+
date: 2011-04-08 00:00:00 -07:00
|
19
20
|
default_executable:
|
20
21
|
dependencies: []
|
21
22
|
|
@@ -23,6 +24,7 @@ description: WatirGrid allows for distributed testing across a grid network usin
|
|
23
24
|
email: tim.koops@gmail.com
|
24
25
|
executables:
|
25
26
|
- controller
|
27
|
+
- listener
|
26
28
|
- provider
|
27
29
|
extensions: []
|
28
30
|
|
@@ -37,6 +39,7 @@ files:
|
|
37
39
|
- README.rdoc
|
38
40
|
- Rakefile
|
39
41
|
- bin/controller
|
42
|
+
- bin/listener
|
40
43
|
- bin/provider
|
41
44
|
- examples/basic/example_safariwatir.rb
|
42
45
|
- examples/basic/example_webdriver.rb
|
@@ -45,6 +48,7 @@ files:
|
|
45
48
|
- examples/cucumber/step_definitions/example_steps.rb
|
46
49
|
- lib/controller.rb
|
47
50
|
- lib/extensions/remote.rb
|
51
|
+
- lib/listener.rb
|
48
52
|
- lib/provider.rb
|
49
53
|
- lib/watirgrid.rb
|
50
54
|
- rdoc/logo.png
|
@@ -77,12 +81,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
77
81
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
78
82
|
none: false
|
79
83
|
requirements:
|
80
|
-
- - "
|
84
|
+
- - ">"
|
81
85
|
- !ruby/object:Gem::Version
|
82
|
-
hash:
|
86
|
+
hash: 25
|
83
87
|
segments:
|
84
|
-
-
|
85
|
-
|
88
|
+
- 1
|
89
|
+
- 3
|
90
|
+
- 1
|
91
|
+
version: 1.3.1
|
86
92
|
requirements: []
|
87
93
|
|
88
94
|
rubyforge_project:
|