summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--test/drb/drbtest.rb22
-rw-r--r--test/ruby/envutil.rb3
3 files changed, 21 insertions, 9 deletions
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 <ocean@m2.ccsnet.ne.jp>
+
+ * 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 <nobu@ruby-lang.org>
* 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"