diff options
Diffstat (limited to 'test/setup.rb')
-rw-r--r-- | test/setup.rb | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/test/setup.rb b/test/setup.rb index 8fda7f1..3c64c2b 100644 --- a/test/setup.rb +++ b/test/setup.rb @@ -58,13 +58,8 @@ require 'socket' class TempServer attr_reader :port, :pid - def self.destroy_all! - ObjectSpace.each_object(TempServer) { |t| t.destroy! } - end - - at_exit { TempServer.destroy_all! } - def initialize(server_proc, port = nil) + @destroy_pid = $$ @pid = @sock = nil @port = port retries = 10 @@ -85,6 +80,7 @@ class TempServer end def destroy! + return if @destroy_pid != $$ @sock.close rescue nil Process.kill('KILL', @pid) rescue nil end |