Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

We’re showing branches in this repository, but you can also compare across forks.

...
  • 6 commits
  • 6 files changed
  • 3 commit comments
  • 2 contributors
Commits on Jun 06, 2012
Shay Arnett shayarnett No longer need to set coloring for cucumber output 2e61ca1
Commits on Jun 11, 2012
Sandro Turriate Cleanup 2498343
Sandro Turriate Fix hang while resolving some bonjour replies
Recently, specjour hung while attempting to resolve a rouge service.
This commit will only spend a second trying to resolve each service,
then it moves on.
bcdcbe1
Commits on Jun 20, 2012
Sandro Turriate Fork exec specjour with current LOAD_PATH
Allows gems bundled under bundler to continue working.
031b812
Commits on Jun 22, 2012
Sandro Turriate Bump 61e4e90
Sandro Turriate Load rspec dependency through bundler 67ec136
6 History.markdown
View
@@ -1,6 +1,12 @@
History
=======
+0.5.6 / 2012-06-22
+---------------------------
+* [fixed] Specjour hang when attempting to resolve a bonjour reply
+* [fixed] Specjour executes loader under current $LOAD\_PATH
+ Specjour no longer assumes the required gems are available globally. Useful when running specjour under a vendored environment (bundle install --path=vendor).
+
0.5.5 / 2012-05-31
---------------------------
* [fixed] Now compatible with thor 0.15.x
1  Rakefile
View
@@ -1,4 +1,5 @@
require 'bundler/gem_tasks'
+require "bundler/setup"
require 'rspec/core/rake_task'
RSpec::Core::RakeTask.new(:spec)
2  lib/specjour.rb
View
@@ -29,7 +29,7 @@ module Specjour
autoload :Cucumber, 'specjour/cucumber'
autoload :RSpec, 'specjour/rspec'
- VERSION ||= "0.5.5"
+ VERSION ||= "0.5.6"
HOOKS_PATH ||= "./.specjour/hooks.rb"
PROGRAM_NAME ||= $PROGRAM_NAME # keep a reference of the original program name
1  lib/specjour/cucumber/distributed_formatter.rb
View
@@ -1,5 +1,4 @@
module Specjour::Cucumber
- ::Term::ANSIColor.coloring = true
class DistributedFormatter < ::Cucumber::Formatter::Progress
def initialize(step_mother, io, options)
25 lib/specjour/dispatcher.rb
View
@@ -102,8 +102,8 @@ def gather_remote_managers
end
raise Timeout::Error
end
- rescue Timeout::Error
- replies.each {|r| resolve_reply(r)}
+ rescue Timeout::Error
+ replies.each {|r| resolve_reply(r)}
end
def local_manager_needed?
@@ -127,17 +127,20 @@ def project_name
end
def resolve_reply(reply)
- DNSSD.resolve!(reply.name, reply.type, reply.domain, flags=0, reply.interface) do |resolved|
- Specjour.logger.debug "Bonjour discovered #{resolved.target}"
- if resolved.text_record && resolved.text_record['version'] == Specjour::VERSION
- resolved_ip = ip_from_hostname(resolved.target)
- uri = URI::Generic.build :scheme => reply.service_name, :host => resolved_ip, :port => resolved.port
- fetch_manager(uri)
- else
- puts "Found #{resolved.target} but its version doesn't match v#{Specjour::VERSION}. Skipping..."
+ Timeout.timeout(1) do
+ DNSSD.resolve!(reply.name, reply.type, reply.domain, flags=0, reply.interface) do |resolved|
+ Specjour.logger.debug "Bonjour discovered #{resolved.target}"
+ if resolved.text_record && resolved.text_record['version'] == Specjour::VERSION
+ resolved_ip = ip_from_hostname(resolved.target)
+ uri = URI::Generic.build :scheme => reply.service_name, :host => resolved_ip, :port => resolved.port
+ fetch_manager(uri)
+ else
+ puts "Found #{resolved.target} but its version doesn't match v#{Specjour::VERSION}. Skipping..."
+ end
+ break unless resolved.flags.more_coming?
end
- break unless resolved.flags.more_coming?
end
+ rescue Timeout::Error
end
def rsync_daemon
6 lib/specjour/manager.rb
View
@@ -62,9 +62,9 @@ def dispatch_loader
exec_cmd << " --test-paths #{test_paths.join(" ")}" if test_paths.any?
exec_cmd << " --log" if Specjour.log?
exec_cmd << " --quiet" if quiet?
- load_path = $LOAD_PATH.detect {|l| l =~ %r(specjour[^/]*/lib$)}
- bin_path = File.expand_path(File.join(load_path, "../bin"))
- Kernel.exec({"RUBYLIB" => load_path}, "#{bin_path}/specjour #{exec_cmd}")
+ specjour_path = $LOAD_PATH.detect {|l| l =~ %r(specjour[^/]*/lib$)}
+ bin_path = File.expand_path(File.join(specjour_path, "../bin"))
+ Kernel.exec({"RUBYLIB" => $LOAD_PATH.join(":")}, "#{bin_path}/specjour #{exec_cmd}")
end
Process.waitall
ensure

Showing you all comments on commits in this comparison.

Sandro Turriate
Owner

Cool, thanks. Shall I release?

Shay Arnett
Collaborator

Paul was still seeing some wonkyness. But that wonkyness didn't show up until this was in. Up to you I guess :)

Sandro Turriate
Owner

Probably unrelated. I'm seeing some wonkyness when I run specjour's cucumber suite. Specjour's output differs from cucumber's output.

$ source .dev
$ cucumber features
$ specjour -w 1 features
Something went wrong with that request. Please try again.