lib/cucumber/cli/drb_client.rb in aslakhellesoy-cucumber-0.3.101 vs lib/cucumber/cli/drb_client.rb in aslakhellesoy-cucumber-0.3.101.2
- old
+ new
@@ -11,10 +11,16 @@
def self.run(args, error_stream, out_stream, port = nil)
port ||= ENV["CUCUMBER_DRB"] || DEFAULT_PORT
# See http://redmine.ruby-lang.org/issues/show/496 as to why we specify localhost:0
- DRb.start_service("druby://localhost:0")
+ begin
+ DRb.start_service("druby://localhost:0")
+ rescue SocketError
+ # Ruby-1.8.7 on snow leopard doesn't like localhost:0 - but just :0
+ # seems to work just fine
+ DRb.start_service("druby://:0")
+ end
feature_server = DRbObject.new_with_uri("druby://127.0.0.1:#{port}")
cloned_args = [] # I have no idea why this is needed, but if the regular args are sent then DRb magically transforms it into a DRb object - not an array
args.each { |arg| cloned_args << arg }
feature_server.run(cloned_args, error_stream, out_stream)
rescue DRb::DRbConnError => e