diff options
author | drbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-04-17 21:17:56 +0000 |
---|---|---|
committer | drbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-04-17 21:17:56 +0000 |
commit | 0ebe38eedd3b0b0771f57e1d4a85d472a1b6b64f (patch) | |
tree | 3fd875633a962ad584d787f536e5ced1697e058e /test/rubygems/test_gem_installer.rb | |
parent | 02dc9ae773d458be60f3fa656d5bb50f41a1c9e2 (diff) | |
download | ruby-0ebe38eedd3b0b0771f57e1d4a85d472a1b6b64f.tar.gz |
Revert r35370 due to bad source branch
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35372 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/rubygems/test_gem_installer.rb')
-rw-r--r-- | test/rubygems/test_gem_installer.rb | 212 |
1 files changed, 18 insertions, 194 deletions
diff --git a/test/rubygems/test_gem_installer.rb b/test/rubygems/test_gem_installer.rb index d40fbc93bf..3c6fb45589 100644 --- a/test/rubygems/test_gem_installer.rb +++ b/test/rubygems/test_gem_installer.rb @@ -2,23 +2,26 @@ require 'rubygems/installer_test_case' class TestGemInstaller < Gem::InstallerTestCase - def util_setup_install - @gemhome = @installer_tmp - Gem.use_paths @installer_tmp + def setup + super - @spec = Gem::Specification.find_by_name 'a' - @user_spec = Gem::Specification.find_by_name 'b' + if __name__ !~ /^test_install(_|$)/ then + @gemhome = @installer_tmp + Gem.use_paths @installer_tmp - @installer.spec = @spec - @installer.gem_home = @installer_tmp - @installer.gem_dir = @spec.gem_dir - @user_installer.spec = @user_spec - @user_installer.gem_home = @installer_tmp + @spec = Gem::Specification.find_by_name 'a' + @user_spec = Gem::Specification.find_by_name 'b' + + @installer.spec = @spec + @installer.gem_home = @installer_tmp + @installer.gem_dir = @spec.gem_dir + @user_installer.spec = @user_spec + @user_installer.gem_home = @installer_tmp + end end - def test_app_script_text - util_setup_install + def test_app_script_text @spec.version = 2 util_make_exec @spec, '' @@ -35,13 +38,9 @@ require 'rubygems' version = \">= 0\" -if ARGV.first - str = ARGV.first - str = str.dup.force_encoding("BINARY") if str.respond_to? :force_encoding - if str =~ /\\A_(.*)_\\z/ - version = $1 - ARGV.shift - end +if ARGV.first =~ /^_(.*)_$/ and Gem::Version.correct? $1 then + version = $1 + ARGV.shift end gem 'a', version @@ -53,8 +52,6 @@ load Gem.bin_path('a', 'executable', version) end def test_build_extensions_none - util_setup_install - use_ui @ui do @installer.build_extensions end @@ -66,8 +63,6 @@ load Gem.bin_path('a', 'executable', version) end def test_build_extensions_extconf_bad - util_setup_install - @spec.extensions << 'extconf.rb' e = assert_raises Gem::Installer::ExtensionBuildError do @@ -91,8 +86,6 @@ load Gem.bin_path('a', 'executable', version) end def test_build_extensions_unsupported - util_setup_install - gem_make_out = File.join @gemhome, 'gems', @spec.full_name, 'gem_make.out' @spec.extensions << nil @@ -114,8 +107,6 @@ load Gem.bin_path('a', 'executable', version) end def test_ensure_dependency - util_setup_install - dep = Gem::Dependency.new 'a', '>= 2' assert @installer.ensure_dependency(@spec, dep) @@ -128,8 +119,6 @@ load Gem.bin_path('a', 'executable', version) end def test_extract_files - util_setup_install - format = Object.new def format.file_entries [[{'size' => 7, 'mode' => 0400, 'path' => 'thefile'}, 'content']] @@ -148,8 +137,6 @@ load Gem.bin_path('a', 'executable', version) end def test_extract_files_bad_dest - util_setup_install - @installer.gem_dir = 'somedir' @installer.format = nil e = assert_raises ArgumentError do @@ -160,8 +147,6 @@ load Gem.bin_path('a', 'executable', version) end def test_extract_files_relative - util_setup_install - format = Object.new def format.file_entries [[{'size' => 10, 'mode' => 0644, 'path' => '../thefile'}, '../thefile']] @@ -181,8 +166,6 @@ load Gem.bin_path('a', 'executable', version) end def test_extract_files_absolute - util_setup_install - format = Object.new def format.file_entries [[{'size' => 8, 'mode' => 0644, 'path' => '/thefile'}, '/thefile']] @@ -200,8 +183,6 @@ load Gem.bin_path('a', 'executable', version) end def test_generate_bin_bindir - util_setup_install - @installer.wrappers = true @spec.executables = %w[executable] @@ -227,8 +208,6 @@ load Gem.bin_path('a', 'executable', version) end def test_generate_bin_bindir_with_user_install_warning - util_setup_install - bin_dir = Gem.win_platform? ? File.expand_path(ENV["WINDIR"]) : "/usr/bin" options = { @@ -248,8 +227,6 @@ load Gem.bin_path('a', 'executable', version) end def test_generate_bin_script - util_setup_install - @installer.wrappers = true util_make_exec @installer.gem_dir = util_gem_dir @@ -265,8 +242,6 @@ load Gem.bin_path('a', 'executable', version) end def test_generate_bin_script_format - util_setup_install - @installer.format_executable = true @installer.wrappers = true util_make_exec @@ -282,8 +257,6 @@ load Gem.bin_path('a', 'executable', version) end def test_generate_bin_script_format_disabled - util_setup_install - @installer.wrappers = true util_make_exec @installer.gem_dir = util_gem_dir @@ -298,8 +271,6 @@ load Gem.bin_path('a', 'executable', version) end def test_generate_bin_script_install_dir - util_setup_install - @installer.wrappers = true @spec.executables = %w[executable] @@ -324,8 +295,6 @@ load Gem.bin_path('a', 'executable', version) end def test_generate_bin_script_no_execs - util_setup_install - util_execless @installer.wrappers = true @@ -335,8 +304,6 @@ load Gem.bin_path('a', 'executable', version) end def test_generate_bin_script_no_perms - util_setup_install - @installer.wrappers = true util_make_exec @@ -356,8 +323,6 @@ load Gem.bin_path('a', 'executable', version) end def test_generate_bin_script_no_shebang - util_setup_install - @installer.wrappers = true @spec.executables = %w[executable] @@ -381,8 +346,6 @@ load Gem.bin_path('a', 'executable', version) end def test_generate_bin_script_wrappers - util_setup_install - @installer.wrappers = true util_make_exec @installer.gem_dir = util_gem_dir @@ -408,8 +371,6 @@ load Gem.bin_path('a', 'executable', version) end def test_generate_bin_symlink - util_setup_install - return if win_platform? #Windows FS do not support symlinks @installer.wrappers = false @@ -425,8 +386,6 @@ load Gem.bin_path('a', 'executable', version) end def test_generate_bin_symlink_no_execs - util_setup_install - util_execless @installer.wrappers = false @@ -436,8 +395,6 @@ load Gem.bin_path('a', 'executable', version) end def test_generate_bin_symlink_no_perms - util_setup_install - @installer.wrappers = false util_make_exec @installer.gem_dir = util_gem_dir @@ -458,8 +415,6 @@ load Gem.bin_path('a', 'executable', version) end def test_generate_bin_symlink_update_newer - util_setup_install - return if win_platform? #Windows FS do not support symlinks @installer.wrappers = false @@ -491,8 +446,6 @@ load Gem.bin_path('a', 'executable', version) end def test_generate_bin_symlink_update_older - util_setup_install - return if win_platform? #Windows FS do not support symlinks @installer.wrappers = false @@ -529,8 +482,6 @@ load Gem.bin_path('a', 'executable', version) end def test_generate_bin_symlink_update_remove_wrapper - util_setup_install - return if win_platform? #Windows FS do not support symlinks @installer.wrappers = true @@ -562,8 +513,6 @@ load Gem.bin_path('a', 'executable', version) end def test_generate_bin_symlink_win32 - util_setup_install - old_win_platform = Gem.win_platform? Gem.win_platform = true @installer.wrappers = false @@ -588,8 +537,6 @@ load Gem.bin_path('a', 'executable', version) end def test_generate_bin_uses_default_shebang - util_setup_install - return if win_platform? #Windows FS do not support symlinks @installer.wrappers = true @@ -673,95 +620,6 @@ load Gem.bin_path('a', 'executable', version) assert_same @installer, @pre_install_hook_arg end - def test_install_creates_working_binstub - Dir.mkdir util_inst_bindir - util_setup_gem - util_clear_gems - - @installer.wrappers = true - - gemdir = File.join @gemhome, 'gems', @spec.full_name - - @newspec = nil - build_rake_in do - use_ui @ui do - @newspec = @installer.install - end - end - - exe = File.join gemdir, 'bin', 'executable' - - e = assert_raises RuntimeError do - instance_eval File.read(exe) - end - - assert_match(/ran executable/, e.message) - end - - def test_install_creates_binstub_that_understand_version - Dir.mkdir util_inst_bindir - util_setup_gem - util_clear_gems - - @installer.wrappers = true - - @newspec = nil - build_rake_in do - use_ui @ui do - @newspec = @installer.install - end - end - - exe = File.join @gemhome, 'bin', 'executable' - - ARGV.unshift "_3.0_" - - begin - Gem::Specification.reset - - e = assert_raises Gem::LoadError do - instance_eval File.read(exe) - end - ensure - ARGV.shift if ARGV.first == "_3.0_" - end - - assert_match(/\(= 3\.0\)/, e.message) - end - - def test_install_creates_binstub_that_dont_trust_encoding - skip unless "".respond_to?(:force_encoding) - - Dir.mkdir util_inst_bindir - util_setup_gem - util_clear_gems - - @installer.wrappers = true - - @newspec = nil - build_rake_in do - use_ui @ui do - @newspec = @installer.install - end - end - - exe = File.join @gemhome, 'bin', 'executable' - - ARGV.unshift "\xE4pfel".force_encoding("UTF-8") - - begin - Gem::Specification.reset - - e = assert_raises RuntimeError do - instance_eval File.read(exe) - end - ensure - ARGV.shift if ARGV.first == "\xE4pfel" - end - - assert_match(/ran executable/, e.message) - end - def test_install_with_no_prior_files Dir.mkdir util_inst_bindir util_clear_gems @@ -1031,8 +889,6 @@ load Gem.bin_path('a', 'executable', version) end def test_installation_satisfies_dependency_eh - util_setup_install - dep = Gem::Dependency.new 'a', '>= 2' assert @installer.installation_satisfies_dependency?(dep) @@ -1041,8 +897,6 @@ load Gem.bin_path('a', 'executable', version) end def test_shebang - util_setup_install - util_make_exec @spec, "#!/usr/bin/ruby" shebang = @installer.shebang 'executable' @@ -1051,8 +905,6 @@ load Gem.bin_path('a', 'executable', version) end def test_shebang_arguments - util_setup_install - util_make_exec @spec, "#!/usr/bin/ruby -ws" shebang = @installer.shebang 'executable' @@ -1061,8 +913,6 @@ load Gem.bin_path('a', 'executable', version) end def test_shebang_empty - util_setup_install - util_make_exec @spec, '' shebang = @installer.shebang 'executable' @@ -1070,8 +920,6 @@ load Gem.bin_path('a', 'executable', version) end def test_shebang_env - util_setup_install - util_make_exec @spec, "#!/usr/bin/env ruby" shebang = @installer.shebang 'executable' @@ -1080,8 +928,6 @@ load Gem.bin_path('a', 'executable', version) end def test_shebang_env_arguments - util_setup_install - util_make_exec @spec, "#!/usr/bin/env ruby -ws" shebang = @installer.shebang 'executable' @@ -1090,8 +936,6 @@ load Gem.bin_path('a', 'executable', version) end def test_shebang_env_shebang - util_setup_install - util_make_exec @spec, '' @installer.env_shebang = true @@ -1104,8 +948,6 @@ load Gem.bin_path('a', 'executable', version) end def test_shebang_nested - util_setup_install - util_make_exec @spec, "#!/opt/local/ruby/bin/ruby" shebang = @installer.shebang 'executable' @@ -1114,8 +956,6 @@ load Gem.bin_path('a', 'executable', version) end def test_shebang_nested_arguments - util_setup_install - util_make_exec @spec, "#!/opt/local/ruby/bin/ruby -ws" shebang = @installer.shebang 'executable' @@ -1124,8 +964,6 @@ load Gem.bin_path('a', 'executable', version) end def test_shebang_version - util_setup_install - util_make_exec @spec, "#!/usr/bin/ruby18" shebang = @installer.shebang 'executable' @@ -1134,8 +972,6 @@ load Gem.bin_path('a', 'executable', version) end def test_shebang_version_arguments - util_setup_install - util_make_exec @spec, "#!/usr/bin/ruby18 -ws" shebang = @installer.shebang 'executable' @@ -1144,8 +980,6 @@ load Gem.bin_path('a', 'executable', version) end def test_shebang_version_env - util_setup_install - util_make_exec @spec, "#!/usr/bin/env ruby18" shebang = @installer.shebang 'executable' @@ -1154,8 +988,6 @@ load Gem.bin_path('a', 'executable', version) end def test_shebang_version_env_arguments - util_setup_install - util_make_exec @spec, "#!/usr/bin/env ruby18 -ws" shebang = @installer.shebang 'executable' @@ -1164,8 +996,6 @@ load Gem.bin_path('a', 'executable', version) end def test_unpack - util_setup_install - util_setup_gem dest = File.join @gemhome, 'gems', @spec.full_name @@ -1177,8 +1007,6 @@ load Gem.bin_path('a', 'executable', version) end def test_write_spec - util_setup_install - spec_dir = File.join @gemhome, 'specifications' spec_file = File.join spec_dir, @spec.spec_name FileUtils.rm spec_file @@ -1194,8 +1022,6 @@ load Gem.bin_path('a', 'executable', version) end def test_write_spec_writes_cached_spec - util_setup_install - spec_dir = File.join @gemhome, 'specifications' spec_file = File.join spec_dir, @spec.spec_name FileUtils.rm spec_file @@ -1215,8 +1041,6 @@ load Gem.bin_path('a', 'executable', version) end def test_dir - util_setup_install - assert_match @installer.dir, %r!/installer/gems/a-2$! end |