diff options
author | mneumann <mneumann@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-12-21 16:23:33 +0000 |
---|---|---|
committer | mneumann <mneumann@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-12-21 16:23:33 +0000 |
commit | ab299b6d3ee84569cbf93985116bd122829ac016 (patch) | |
tree | adc5962295bc5a7c3d00bda294dde0f23ac54117 /test/xmlrpc/webrick_testing.rb | |
parent | fc1037dae731a198cac5af6efd700c83197fe3d9 (diff) | |
download | ruby-ab299b6d3ee84569cbf93985116bd122829ac016.tar.gz ruby-ab299b6d3ee84569cbf93985116bd122829ac016.tar.xz ruby-ab299b6d3ee84569cbf93985116bd122829ac016.zip |
* lib/xmlrpc/client.rb: use "" instead of "." if prefix argument is
nil in proxy methods. nil is default value.
* test/xmlrpc/test_webrick_server.rb, test/xmlrpc/webrick_testing.rb:
use threads instead of forking. this should fix issue #1208
(http://rubyforge.org/tracker/?func=detail&atid=1698&aid=1208&group_id=426).
removed testing of SSL enabled servlet as this hangs.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@7630 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/xmlrpc/webrick_testing.rb')
-rw-r--r-- | test/xmlrpc/webrick_testing.rb | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/test/xmlrpc/webrick_testing.rb b/test/xmlrpc/webrick_testing.rb index d8b3a864c..a6830cece 100644 --- a/test/xmlrpc/webrick_testing.rb +++ b/test/xmlrpc/webrick_testing.rb @@ -7,20 +7,20 @@ module WEBrick_Testing end def start_server(config={}) - raise "already started" if @__server_pid or @__started - trap('HUP') { @__started = true } - @__server_pid = fork do - w = WEBrick::HTTPServer.new( + raise "already started" if @__server + @__started = false + + Thread.new { + @__server = WEBrick::HTTPServer.new( { :Logger => DummyLog.new, :AccessLog => [], - :StartCallback => proc { Process.kill('HUP', Process.ppid) } + :StartCallback => proc { @__started = true } }.update(config)) - yield w - trap('INT') { w.shutdown } - w.start - exit - end + yield @__server + @__server.start + @__started = false + } Timeout.timeout(5) { nil until @__started # wait until the server is ready @@ -28,10 +28,10 @@ module WEBrick_Testing end def stop_server - Process.kill('INT', @__server_pid) - @__server_pid = nil - @__started = false - Process.wait - raise unless $?.success? + Timeout.timeout(5) { + @__server.shutdown + nil while @__started # wait until the server is down + } + @__server = nil end end |