aboutsummaryrefslogtreecommitdiffstats
path: root/test/rubygems/test_gem_dependency_installer.rb
diff options
context:
space:
mode:
authornaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-09-14 08:59:02 +0000
committernaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-09-14 08:59:02 +0000
commit269503b544247b5b3e30dbe60a0bab4f2ca00e4e (patch)
treea6d0a3a9b34017c4c84d997152a3aaf3086e1ce1 /test/rubygems/test_gem_dependency_installer.rb
parent2614d9ba2fb5ad171200cccc88f42fa659b527c6 (diff)
downloadruby-269503b544247b5b3e30dbe60a0bab4f2ca00e4e.tar.gz
Revert r42938 "* lib/rubygems: Update to RubyGems 2.1.3"
It breaks build. http://u64.rubyci.org/~chkbuild/ruby-trunk/log/20130913T200302Z.diff.html.gz git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42941 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/rubygems/test_gem_dependency_installer.rb')
-rw-r--r--test/rubygems/test_gem_dependency_installer.rb100
1 files changed, 58 insertions, 42 deletions
diff --git a/test/rubygems/test_gem_dependency_installer.rb b/test/rubygems/test_gem_dependency_installer.rb
index 2b95597d4b..af6b922fe3 100644
--- a/test/rubygems/test_gem_dependency_installer.rb
+++ b/test/rubygems/test_gem_dependency_installer.rb
@@ -6,6 +6,7 @@ class TestGemDependencyInstaller < Gem::TestCase
def setup
super
+ common_installer_setup
@gems_dir = File.join @tempdir, 'gems'
@cache_dir = File.join @gemhome, 'cache'
@@ -172,7 +173,8 @@ class TestGemDependencyInstaller < Gem::TestCase
FileUtils.mv @a1_gem, @tempdir
FileUtils.mv @b1_gem, @tempdir
- FileUtils.mv e1_gem, @tempdir
+ FileUtils.mv e1_gem, @tempdir
+
inst = nil
Dir.chdir @tempdir do
@@ -180,40 +182,15 @@ class TestGemDependencyInstaller < Gem::TestCase
inst.install 'b'
end
- Dir.chdir @tempdir do
- inst = Gem::DependencyInstaller.new
- inst.install 'e'
- end
-
- assert_equal %w[e-1 a-1], inst.installed_gems.map { |s| s.full_name }
- end
-
- def test_install_ignore_satified_deps
- util_setup_gems
-
- _, e1_gem = util_gem 'e', '1' do |s|
- s.add_dependency 'b'
- end
-
- util_clear_gems
-
- FileUtils.mv @a1_gem, @tempdir
- FileUtils.mv @b1_gem, @tempdir
- FileUtils.mv e1_gem, @tempdir
-
- Dir.chdir @tempdir do
- i = Gem::DependencyInstaller.new :ignore_dependencies => true
- i.install 'b'
- end
-
- inst = nil
+ assert_equal %w[b-1], inst.installed_gems.map { |s| s.full_name },
+ 'sanity check'
Dir.chdir @tempdir do
- inst = Gem::DependencyInstaller.new :minimal_deps => true
+ inst = Gem::DependencyInstaller.new
inst.install 'e'
end
- assert_equal %w[e-1], inst.installed_gems.map { |s| s.full_name }
+ assert_equal %w[a-1 e-1], inst.installed_gems.map { |s| s.full_name }
end
def test_install_cache_dir
@@ -246,15 +223,18 @@ class TestGemDependencyInstaller < Gem::TestCase
Gem::Specification.reset
FileUtils.mv @a1_gem, @tempdir
- FileUtils.mv a2_gem, @tempdir # not in index
+ FileUtils.mv a2_gem, @tempdir # not in index
FileUtils.mv @b1_gem, @tempdir
inst = nil
Dir.chdir @tempdir do
inst = Gem::DependencyInstaller.new
- inst.install 'a', Gem::Requirement.create("= 2")
+ inst.install 'a', req("= 2")
end
+ assert_equal %w[a-2], inst.installed_gems.map { |s| s.full_name },
+ 'sanity check'
+
FileUtils.rm File.join(@tempdir, a2.file_name)
Dir.chdir @tempdir do
@@ -282,19 +262,18 @@ class TestGemDependencyInstaller < Gem::TestCase
Gem::Specification.reset
FileUtils.mv @a1_gem, @tempdir
- FileUtils.mv a2_gem, @tempdir # not in index
+ FileUtils.mv a2_gem, @tempdir # not in index
FileUtils.mv @b1_gem, @tempdir
- FileUtils.mv a3_gem, @tempdir
-
- inst = nil
+ FileUtils.mv a3_gem, @tempdir
Dir.chdir @tempdir do
- inst = Gem::DependencyInstaller.new
- inst.install 'a', Gem::Requirement.create("= 2")
+ Gem::DependencyInstaller.new.install 'a', req("= 2")
end
FileUtils.rm File.join(@tempdir, a2.file_name)
+ inst = nil
+
Dir.chdir @tempdir do
inst = Gem::DependencyInstaller.new
inst.install 'b'
@@ -488,6 +467,42 @@ class TestGemDependencyInstaller < Gem::TestCase
assert_equal %w[a-1], inst.installed_gems.map { |s| s.full_name }
end
+ def test_install_minimal_deps
+ util_setup_gems
+
+ _, e1_gem = util_gem 'e', '1' do |s|
+ s.add_dependency 'b'
+ end
+
+ _, b2_gem = util_gem 'b', '2' do |s|
+ s.add_dependency 'a'
+ end
+
+ util_clear_gems
+
+ FileUtils.mv @a1_gem, @tempdir
+ FileUtils.mv @b1_gem, @tempdir
+ FileUtils.mv b2_gem, @tempdir
+ FileUtils.mv e1_gem, @tempdir
+
+ inst = nil
+
+ Dir.chdir @tempdir do
+ inst = Gem::DependencyInstaller.new :ignore_dependencies => true
+ inst.install 'b', req('= 1')
+ end
+
+ assert_equal %w[b-1], inst.installed_gems.map { |s| s.full_name },
+ 'sanity check'
+
+ Dir.chdir @tempdir do
+ inst = Gem::DependencyInstaller.new :minimal_deps => true
+ inst.install 'e'
+ end
+
+ assert_equal %w[a-1 e-1], inst.installed_gems.map { |s| s.full_name }
+ end
+
def test_install_env_shebang
util_setup_gems
@@ -627,12 +642,12 @@ class TestGemDependencyInstaller < Gem::TestCase
inst = nil
Dir.chdir @tempdir do
- e = assert_raises Gem::DependencyError do
+ e = assert_raises Gem::UnsatisfiableDependencyError do
inst = Gem::DependencyInstaller.new :domain => :local
inst.install 'b'
end
- expected = "Unable to resolve dependencies: b requires a (>= 0)"
+ expected = "Unable to resolve dependency: b (= 1) requires a (>= 0)"
assert_equal expected, e.message
end
@@ -910,12 +925,13 @@ class TestGemDependencyInstaller < Gem::TestCase
gems = set.sorted
assert_equal 2, gems.length
- local = gems.first
+
+ remote, local = gems
+
assert_equal 'a-1', local.spec.full_name, 'local spec'
assert_equal File.join(@tempdir, @a1.file_name),
local.source.download(local.spec), 'local path'
- remote = gems.last
assert_equal 'a-1', remote.spec.full_name, 'remote spec'
assert_equal Gem::Source.new(@gem_repo), remote.source, 'remote path'