зеркало из https://github.com/github/ruby.git
Fix DRb.start_service to use any available port
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58995 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
Родитель
96ab53602a
Коммит
321300d4e0
|
@ -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
|
||||
|
|
Загрузка…
Ссылка в новой задаче