diff --git a/ChangeLog b/ChangeLog index 4ecdef1e31..98eef6d0c8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Thu May 12 09:07:07 2005 Hirokazu Yamamoto + + * test/ruby/envutil.rb, test/drb/drbtest.rb: can test drb + before install. (backported from HEAD) [ruby-Bugs-1672] + Thu May 12 01:23:55 2005 Nobuyoshi Nakada * eval.c (rb_eval), parse.y (arg): reduce fixnum range literal at 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"