diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/drb/drbtest.rb | 22 | ||||
-rw-r--r-- | test/ruby/envutil.rb | 3 |
2 files changed, 16 insertions, 9 deletions
diff --git a/test/drb/drbtest.rb b/test/drb/drbtest.rb index 6c4cfe6f77..432c7a78bb 100644 --- a/test/drb/drbtest.rb +++ b/test/drb/drbtest.rb @@ -2,21 +2,25 @@ require 'test/unit' require 'drb/drb' require 'drb/extservm' require 'timeout' -require 'rbconfig' - -DRb::DRbServer.new(nil) +begin + loadpath = $:.dup + $:.replace($: | [File.expand_path("../ruby", File.dirname(__FILE__))]) + require 'envutil' +ensure + $:.replace(loadpath) +end class DRbService @@manager = DRb::ExtServManager.new - @@ruby = File.join( - Config::CONFIG["bindir"], - Config::CONFIG["ruby_install_name"] + Config::CONFIG["EXEEXT"] - ) + @@ruby = EnvUtil.rubybin @@ruby += " -d" if $DEBUG - @@dir = File.dirname(File.expand_path(__FILE__)) + 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| - DRb::ExtServManager.command[nm] = "#{@@ruby} #{@@dir}/#{nm}" + add_service_command(nm) end @server = @@server = DRb::DRbServer.new(nil, @@manager, {}) @@manager.uri = @@server.uri diff --git a/test/ruby/envutil.rb b/test/ruby/envutil.rb index 4bae3d9e3b..09c8e3f7f4 100644 --- a/test/ruby/envutil.rb +++ b/test/ruby/envutil.rb @@ -1,5 +1,8 @@ module EnvUtil def rubybin + if ruby = ENV["RUBY"] + return ruby + end miniruby = "miniruby" 3.times do if File.exist? miniruby or File.exist? miniruby+".exe" |