specjour 0.3.0 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
data/History.markdown CHANGED
@@ -1,6 +1,15 @@
1
1
  History
2
2
  =======
3
3
 
4
+ 0.3.1 / 2010-10-16
5
+ ----------------
6
+
7
+ #### Fixes
8
+ * Stopping bonjour actually stops the currently running service
9
+ * Only retry connecting to a DRb object 5 times instead of timing out
10
+ trying to connect to one bad connection
11
+ * Set correct process name when the dispatcher starts a listener
12
+
4
13
  ## 0.3.0 / 2010-10-14
5
14
 
6
15
  * [fixed] Cucumber output for scenario outlines (delitescere & supaspoida)
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.3.0
1
+ 0.3.1
@@ -4,7 +4,7 @@ module Specjour
4
4
  Thread.abort_on_exception = true
5
5
  include SocketHelper
6
6
 
7
- attr_reader :project_alias, :managers, :manager_threads, :hosts, :options, :all_tests
7
+ attr_reader :project_alias, :managers, :manager_threads, :hosts, :options, :all_tests, :drb_connection_errors
8
8
  attr_accessor :worker_size, :project_path
9
9
 
10
10
  def initialize(options = {})
@@ -13,6 +13,7 @@ module Specjour
13
13
  @project_path = File.expand_path options[:project_path]
14
14
  @worker_size = 0
15
15
  @managers = []
16
+ @drb_connection_errors = Hash.new(0)
16
17
  find_tests
17
18
  clear_manager_threads
18
19
  end
@@ -77,17 +78,14 @@ module Specjour
77
78
  end
78
79
 
79
80
  def fetch_manager(uri)
80
- Timeout.timeout(0.5) do
81
- manager = DRbObject.new_with_uri(uri.to_s)
82
- if !managers.include?(manager) && manager.available_for?(project_alias)
83
- add_manager(manager)
84
- end
81
+ manager = DRbObject.new_with_uri(uri.to_s)
82
+ if !managers.include?(manager) && manager.available_for?(project_alias)
83
+ add_manager(manager)
85
84
  end
86
- rescue Timeout::Error
87
- Specjour.logger.debug "Timeout: couldn't connect to manager at #{uri}"
88
85
  rescue DRb::DRbConnError => e
89
- Specjour.logger.debug "#{e.message}: #{e.backtrace.join("\n")}"
90
- retry
86
+ drb_connection_errors[uri] += 1
87
+ Specjour.logger.debug "#{e.message}: couldn't connect to manager at #{uri}"
88
+ retry if drb_connection_errors[uri] < 5
91
89
  end
92
90
 
93
91
  def fork_local_manager
@@ -45,6 +45,7 @@ module Specjour
45
45
  end
46
46
 
47
47
  def drb_start
48
+ $PROGRAM_NAME = "specjour listen" if quiet?
48
49
  DRb.start_service drb_uri.to_s, self
49
50
  at_exit { DRb.stop_service }
50
51
  end
@@ -117,7 +118,7 @@ module Specjour
117
118
  end
118
119
 
119
120
  def bonjour_service
120
- @bonjour_service = DNSSD::Service.new
121
+ @bonjour_service ||= DNSSD::Service.new
121
122
  end
122
123
 
123
124
  def cmd(command)
@@ -132,8 +133,13 @@ module Specjour
132
133
  end
133
134
  end
134
135
 
135
- def suspend_bonjour(&block)
136
+ def stop_bonjour
136
137
  bonjour_service.stop
138
+ @bonjour_service = nil
139
+ end
140
+
141
+ def suspend_bonjour(&block)
142
+ stop_bonjour
137
143
  block.call
138
144
  bonjour_announce
139
145
  end
data/lib/specjour.rb CHANGED
@@ -28,7 +28,7 @@ module Specjour
28
28
  autoload :Cucumber, 'specjour/cucumber'
29
29
  autoload :Rspec, 'specjour/rspec'
30
30
 
31
- VERSION = "0.3.0".freeze
31
+ VERSION = "0.3.1".freeze
32
32
  HOOKS_PATH = "./.specjour/hooks.rb"
33
33
 
34
34
  def self.interrupted?
data/specjour.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{specjour}
8
- s.version = "0.3.0"
8
+ s.version = "0.3.1"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Sandro Turriate"]
12
- s.date = %q{2010-10-14}
12
+ s.date = %q{2010-10-16}
13
13
  s.default_executable = %q{specjour}
14
14
  s.description = %q{Distribute your spec suite amongst your LAN via Bonjour.}
15
15
  s.email = %q{sandro.turriate@gmail.com}
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: specjour
3
3
  version: !ruby/object:Gem::Version
4
- hash: 19
4
+ hash: 17
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 3
9
- - 0
10
- version: 0.3.0
9
+ - 1
10
+ version: 0.3.1
11
11
  platform: ruby
12
12
  authors:
13
13
  - Sandro Turriate
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-10-14 00:00:00 -04:00
18
+ date: 2010-10-16 00:00:00 -04:00
19
19
  default_executable: specjour
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency