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
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- test/drb/test_drbssl.rb	(revision 27215)
+++ test/drb/test_drbssl.rb	(working copy)
@@ -30,7 +30,11 @@
   end
=20
   uri =3D ARGV.shift if $0 =3D=3D __FILE__
-  @server =3D DRb::DRbServer.new(uri || 'drbssl://:0', self.manager, =
config)
+
+  @server =3D nil
+  def self.server
+    @server =3D DRb::DRbServer.new(uri || 'drbssl://:0', self.manager, =
config)
+  end
 end
=20
 class TestDRbSSLCore < Test::Unit::TestCase
Index: test/drb/drbtest.rb
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- test/drb/drbtest.rb	(revision 27215)
+++ test/drb/drbtest.rb	(working copy)
@@ -9,22 +9,27 @@
   @@manager =3D DRb::ExtServManager.new
   @@ruby =3D Shellwords.escape(EnvUtil.rubybin)
   @@ruby +=3D " -d" if $DEBUG
+
   def self.add_service_command(nm)
     dir =3D File.dirname(File.expand_path(__FILE__))
     DRb::ExtServManager.command[nm] =3D "#{@@ruby} \"#{dir}/#{nm}\""
   end
=20
-  %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 =3D @@server =3D DRb::DRbServer.new('druby://localhost:0', =
@@manager, {})
-  @@manager.uri =3D @@server.uri
+
   def self.manager
+    @@manager.uri ||=3D server.uri
     @@manager
   end
+
   def self.server
-    @server || @@server
+    @server ||=3D 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
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- test/drb/test_drbunix.rb	(revision 27215)
+++ test/drb/test_drbunix.rb	(working copy)
@@ -13,8 +13,12 @@
     add_service_command(nm)
   end
=20
-  uri =3D ARGV.shift if $0 =3D=3D __FILE__
-  @server =3D DRb::DRbServer.new(uri || 'drbunix:', self.manager, {})
+  URI =3D ARGV.shift if $0 =3D=3D __FILE__
+
+  @server =3D nil
+  def self.server
+    @server ||=3D DRb::DRbServer.new(URI || 'drbunix:', self.manager, =
{})
+  end
 end
=20
 class TestDRbUNIXCore < Test::Unit::TestCase