diff options
Diffstat (limited to 'spec/rubyspec')
-rw-r--r-- | spec/rubyspec/library/drb/start_service_spec.rb | 25 |
1 files changed, 8 insertions, 17 deletions
diff --git a/spec/rubyspec/library/drb/start_service_spec.rb b/spec/rubyspec/library/drb/start_service_spec.rb index e3ef48b3e3..f64021f0bd 100644 --- a/spec/rubyspec/library/drb/start_service_spec.rb +++ b/spec/rubyspec/library/drb/start_service_spec.rb @@ -3,35 +3,26 @@ require File.expand_path('../fixtures/test_server', __FILE__) require 'drb' describe "DRb.start_service" do - before :all do - @port = 9001 + (Process.pid & 7 ) + before :each do + @server = DRb.start_service("druby://localhost:0", TestServer.new) end - before :each do - @url = "druby://localhost:#{@port}" - @port += 1 + after :each do + DRb.stop_service if @server end it "runs a basic remote call" do - lambda { DRb.current_server }.should raise_error(DRb::DRbServerNotFound) - server = DRb.start_service(@url, TestServer.new) - DRb.current_server.should == server - obj = DRbObject.new(nil, @url) + DRb.current_server.should == @server + obj = DRbObject.new(nil, @server.uri) obj.add(1,2,3).should == 6 - DRb.stop_service - lambda { DRb.current_server }.should raise_error(DRb::DRbServerNotFound) end it "runs a basic remote call passing a block" do - lambda { DRb.current_server }.should raise_error(DRb::DRbServerNotFound) - server = DRb.start_service(@url, TestServer.new) - DRb.current_server.should == server - obj = DRbObject.new(nil, @url) + DRb.current_server.should == @server + obj = DRbObject.new(nil, @server.uri) obj.add_yield(2) do |i| i.should == 2 i+1 end.should == 4 - DRb.stop_service - lambda { DRb.current_server }.should raise_error(DRb::DRbServerNotFound) end end |