I'm pretty sure these are wrong somewhere, but since I can't run `make test-all` I have nothing to compare against. Regardless, the design changes help. Switching to lazy accessors instead of creating these servers at file load time will help.

Can I commit? I'd rather just get this in and clean up any breakage as reports come in.

Index: test/drb/test_drbssl.rb
===================================================================
--- test/drb/test_drbssl.rb	(revision 27215)
+++ test/drb/test_drbssl.rb	(working copy)
@@ -30,7 +30,11 @@
   end
 
   uri = ARGV.shift if $0 == __FILE__
-  @server = DRb::DRbServer.new(uri || 'drbssl://:0', self.manager, config)
+
+  @server = nil
+  def self.server
+    @server = DRb::DRbServer.new(uri || 'drbssl://:0', self.manager, config)
+  end
 end
 
 class TestDRbSSLCore < Test::Unit::TestCase
Index: test/drb/drbtest.rb
===================================================================
--- test/drb/drbtest.rb	(revision 27215)
+++ test/drb/drbtest.rb	(working copy)
@@ -9,22 +9,27 @@
   @@manager = DRb::ExtServManager.new
   @@ruby = Shellwords.escape(EnvUtil.rubybin)
   @@ruby += " -d" if $DEBUG
+
   def self.add_service_command(nm)
     dir = File.dirname(File.expand_path(__FILE__))
     DRb::ExtServManager.command[nm] = "#{@@ruby} \"#{dir}/#{nm}\""
   end
 
-  %w(ut_drb.rb ut_array.rb ut_port.rb ut_large.rb ut_safe1.rb ut_eval.rb).each do |nm|
+  %w(ut_drb.rb ut_array.rb ut_port.rb ut_large.rb ut_safe1.rb
+     ut_eval.rb).each do |nm|
     add_service_command(nm)
   end
-  @server = @@server = DRb::DRbServer.new('druby://localhost:0', @@manager, {})
-  @@manager.uri = @@server.uri
+
   def self.manager
+    @@manager.uri ||= server.uri
     @@manager
   end
+
   def self.server
-    @server || @@server
+    @server ||= DRb::DRbServer.new('druby://localhost:0', @@manager, {})
+    @server
   end
+
   def self.ext_service(name)
     timeout(100, RuntimeError) do
       manager.service(name)
Index: test/drb/test_drbunix.rb
===================================================================
--- test/drb/test_drbunix.rb	(revision 27215)
+++ test/drb/test_drbunix.rb	(working copy)
@@ -13,8 +13,12 @@
     add_service_command(nm)
   end
 
-  uri = ARGV.shift if $0 == __FILE__
-  @server = DRb::DRbServer.new(uri || 'drbunix:', self.manager, {})
+  URI = ARGV.shift if $0 == __FILE__
+
+  @server = nil
+  def self.server
+    @server ||= DRb::DRbServer.new(URI || 'drbunix:', self.manager, {})
+  end
 end
 
 class TestDRbUNIXCore < Test::Unit::TestCase