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