diff options
author | mame <mame@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-07-01 12:33:11 +0000 |
---|---|---|
committer | mame <mame@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-07-01 12:33:11 +0000 |
commit | 498324c5d3cd08c2c306a4f91e3a11b7fda22835 (patch) | |
tree | e5d9ff28664f6a886fce613988987e1917db937c /test/rubygems/gemutilities.rb | |
parent | 807fbd69403bcae4bc38138a8f8a4bba5914dcda (diff) | |
download | ruby-498324c5d3cd08c2c306a4f91e3a11b7fda22835.tar.gz |
* lib/test/unit/ui/console/testrunner.rb: prevent destructive modification to $0.
* test/rubygems/gemutilities.rb (build_rake_in): move from test_gem_ext_rake_builder.rb.
* test/rubygems/test_gem_ext_rake_builder.rb: ditto.
* test/rubygems/test_gem_installer.rb: override Gem.ruby and ENV["rake"].
* test/rubygems/test_gem_uninstaller.rb: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17780 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/rubygems/gemutilities.rb')
-rw-r--r-- | test/rubygems/gemutilities.rb | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/test/rubygems/gemutilities.rb b/test/rubygems/gemutilities.rb index c84b94a5e5..0ab2c5272c 100644 --- a/test/rubygems/gemutilities.rb +++ b/test/rubygems/gemutilities.rb @@ -392,5 +392,50 @@ class RubyGemTestCase < Test::Unit::TestCase self.class.process_based_port end + def build_rake_in + gem_ruby = Gem.ruby + ruby = @@ruby + Gem.module_eval {@ruby = ruby} + env_rake = ENV["rake"] + ENV["rake"] = @@rake + yield @@rake + ensure + Gem.module_eval {@ruby = gem_ruby} + if env_rake + ENV["rake"] = env_rake + else + ENV.delete("rake") + end + end + + def self.rubybin + if ruby = ENV["RUBY"] + return ruby + end + ruby = "ruby" + rubyexe = ruby+".exe" + 3.times do + if File.exist? ruby and File.executable? ruby and !File.directory? ruby + return File.expand_path(ruby) + end + if File.exist? rubyexe and File.executable? rubyexe + return File.expand_path(rubyexe) + end + ruby = File.join("..", ruby) + end + begin + require "rbconfig" + File.join( + RbConfig::CONFIG["bindir"], + RbConfig::CONFIG["ruby_install_name"] + RbConfig::CONFIG["EXEEXT"] + ) + rescue LoadError + "ruby" + end + end + + @@ruby = rubybin + @@rake = ENV["rake"] || (@@ruby + " " + File.expand_path("../../../bin/rake", __FILE__)) + end |