diff options
Diffstat (limited to 'spec/rubyspec/library/drb/stop_service_spec.rb')
-rw-r--r-- | spec/rubyspec/library/drb/stop_service_spec.rb | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/spec/rubyspec/library/drb/stop_service_spec.rb b/spec/rubyspec/library/drb/stop_service_spec.rb new file mode 100644 index 0000000000..234cf5a588 --- /dev/null +++ b/spec/rubyspec/library/drb/stop_service_spec.rb @@ -0,0 +1,25 @@ +require File.expand_path('../../../spec_helper', __FILE__) +require File.expand_path('../fixtures/test_server', __FILE__) +require 'drb' + +describe "DRb.stop_service" do + before :all do + # for concurrent processes + @port = 9001 + (Process.pid & 7 ) + end + + before :each do + # because each spec needs it's own port since DRb is broken that way as exhibited below + @url = "druby://localhost:#{@port}" + @port += 1 + end + + it "clears the port so a new server can start" do + 10.times do + server = nil + lambda { server = DRb.start_service(@url, TestServer.new) }.should_not raise_error + DRb.current_server.should == server + lambda { DRb.stop_service }.should_not raise_error + end + end +end |