diff options
author | nagachika <nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-03-17 14:51:53 +0000 |
---|---|---|
committer | nagachika <nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-03-17 14:51:53 +0000 |
commit | b2a8d8a8b42ea3f65b8b2f13e5153f97d03d570d (patch) | |
tree | e54ac7b5392ab8c4b830cdbdc01e5762c4de4a1e /test | |
parent | a4e52a1a85f5c6e628cd45332a243c581942a161 (diff) |
merge revision(s) 39533: [Backport #7991]
* lib/rubygems/available_set.rb: Undent for style
* lib/rubygems/dependency_installer.rb: Pick latest prerelease gem to
install. Fixes RubyGems bug #468.
* test/rubygems/test_gem_dependency_installer.rb: Test for the above.
* lib/rubygems/dependency_installer.rb: Don't display "Done installing
documentation" if documentation will not be installed.
* lib/rubygems/rdoc.rb: ditto
* lib/rubygems/dependency_list.rb: Use Array#concat for Ruby 1.x
performance.
* lib/rubygems/installer.rb: Use formatted program name when comparing
executables. RubyGems pull request #471
* test/rubygems/test_gem_installer.rb: Test for the above.
* lib/rubygems/package.rb: Use more explicit feature check to work
around JRuby bug #552
* lib/rubygems/ssl_certs/GeoTrust_Global_CA.pem: Added GeoTrust root
certificate.
* test/rubygems/test_gem_source_list.rb: Use "example" instead of real
hostname
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@39793 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test')
-rw-r--r-- | test/rubygems/test_gem_dependency_installer.rb | 55 | ||||
-rw-r--r-- | test/rubygems/test_gem_installer.rb | 37 | ||||
-rw-r--r-- | test/rubygems/test_gem_source_list.rb | 2 |
3 files changed, 93 insertions, 1 deletions
diff --git a/test/rubygems/test_gem_dependency_installer.rb b/test/rubygems/test_gem_dependency_installer.rb index d515505922..bfebc6f63b 100644 --- a/test/rubygems/test_gem_dependency_installer.rb +++ b/test/rubygems/test_gem_dependency_installer.rb @@ -35,6 +35,61 @@ class TestGemDependencyInstaller < Gem::TestCase util_reset_gems end + def test_available_set_for_name + util_setup_gems + p1a, gem = util_gem 'a', '10.a' + util_setup_spec_fetcher p1a, @a1, @a1_pre + + inst = Gem::DependencyInstaller.new + + available = inst.available_set_for 'a', Gem::Requirement.default + + assert_equal %w[a-1], available.set.map { |s| s.spec.full_name } + end + + def test_available_set_for_name_prerelease + util_setup_gems + p1a, gem = util_gem 'a', '10.a' + util_setup_spec_fetcher p1a, @a1, @a1_pre + + inst = Gem::DependencyInstaller.new :prerelease => true + + available = inst.available_set_for 'a', Gem::Requirement.default + + assert_equal %w[a-10.a], + available.sorted.map { |s| s.spec.full_name } + end + + def test_available_set_for_dep + util_setup_gems + p1a, gem = util_gem 'a', '10.a' + util_setup_spec_fetcher p1a, @a1, @a1_pre + + inst = Gem::DependencyInstaller.new + + dep = Gem::Dependency.new 'a', Gem::Requirement.default + + available = inst.available_set_for dep, Gem::Requirement.default + + assert_equal %w[a-1], available.set.map { |s| s.spec.full_name } + end + + def test_available_set_for_dep_prerelease + util_setup_gems + p1a, gem = util_gem 'a', '10.a' + util_setup_spec_fetcher p1a, @a1, @a1_pre + + inst = Gem::DependencyInstaller.new :prerelease => true + + dep = Gem::Dependency.new 'a', Gem::Requirement.default + dep.prerelease = true + + available = inst.available_set_for dep, Gem::Requirement.default + + assert_equal %w[a-10.a], + available.sorted.map { |s| s.spec.full_name } + end + def test_install util_setup_gems diff --git a/test/rubygems/test_gem_installer.rb b/test/rubygems/test_gem_installer.rb index 60c450957d..cf35a534b9 100644 --- a/test/rubygems/test_gem_installer.rb +++ b/test/rubygems/test_gem_installer.rb @@ -191,6 +191,43 @@ load Gem.bin_path('a', 'executable', version) Gem::ConfigMap[:bindir] = orig_bindir end + def test_check_executable_overwrite_format_executable + @installer.generate_bin + + @spec = Gem::Specification.new do |s| + s.files = ['lib/code.rb'] + s.name = "a" + s.version = "3" + s.summary = "summary" + s.description = "desc" + s.require_path = 'lib' + end + + open File.join(util_inst_bindir, 'executable'), 'w' do |io| + io.write <<-EXEC +#!/usr/local/bin/ruby +# +# This file was generated by RubyGems + +gem 'other', version + EXEC + end + + util_make_exec + Gem::Installer.exec_format = 'foo-%s-bar' + @installer.gem_dir = @spec.gem_dir + @installer.wrappers = true + @installer.format_executable = true + + @installer.generate_bin # should not raise + + installed_exec = File.join util_inst_bindir, 'foo-executable-bar' + assert File.exist? installed_exec + + wrapper = File.read installed_exec + assert_match %r|generated by RubyGems|, wrapper + end + def test_check_executable_overwrite_other_gem util_conflict_executable true diff --git a/test/rubygems/test_gem_source_list.rb b/test/rubygems/test_gem_source_list.rb index d6e253833e..e2d6da62cd 100644 --- a/test/rubygems/test_gem_source_list.rb +++ b/test/rubygems/test_gem_source_list.rb @@ -5,7 +5,7 @@ class TestGemSourceList < Gem::TestCase def setup super - @uri = "http://blah.com" + @uri = "http://example" @source = Gem::Source.new(@uri) @sl = Gem::SourceList.new |