From 9e49d29e0801e9d6543339cedfc373dadae7773a Mon Sep 17 00:00:00 2001 From: luislavena Date: Mon, 1 Aug 2011 21:22:13 +0000 Subject: [PATCH] Correct RubyGems bin check on Windows. Bug #5111 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32804 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 6 ++++++ lib/rubygems/installer.rb | 1 + test/rubygems/test_gem_installer.rb | 3 ++- 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 8a05bc9a2a..a1bb3040ee 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Tue Aug 2 06:18:15 2011 Luis Lavena + + * lib/rubygems/installer.rb (class Gem): Correct path check on Windows + Possible fix for [Ruby 1.9 - Bug #5111] + * test/rubygems/test_gem_installer.rb (load Gem): ditto + Mon Aug 1 20:12:03 2011 NAKAMURA Usaku * test/ruby/test_process.rb (TestProcess#windows?): new method. diff --git a/lib/rubygems/installer.rb b/lib/rubygems/installer.rb index 338b926a83..74d803d7fa 100644 --- a/lib/rubygems/installer.rb +++ b/lib/rubygems/installer.rb @@ -434,6 +434,7 @@ class Gem::Installer def check_that_user_bin_dir_is_in_path user_bin_dir = @bin_dir || Gem.bindir(gem_home) + user_bin_dir.gsub!(File::SEPARATOR, File::ALT_SEPARATOR) if File::ALT_SEPARATOR unless ENV['PATH'].split(File::PATH_SEPARATOR).include? user_bin_dir then unless self.class.path_warning then alert_warning "You don't have #{user_bin_dir} in your PATH,\n\t gem executables will not run." diff --git a/test/rubygems/test_gem_installer.rb b/test/rubygems/test_gem_installer.rb index d3791d7911..3c6fb45589 100644 --- a/test/rubygems/test_gem_installer.rb +++ b/test/rubygems/test_gem_installer.rb @@ -208,9 +208,10 @@ load Gem.bin_path('a', 'executable', version) end def test_generate_bin_bindir_with_user_install_warning + bin_dir = Gem.win_platform? ? File.expand_path(ENV["WINDIR"]) : "/usr/bin" options = { - :bin_dir => "/usr/bin", + :bin_dir => bin_dir, :install_dir => "/non/existant" }