summaryrefslogtreecommitdiff
path: root/test/rubygems/test_gem_dependency_installer.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/rubygems/test_gem_dependency_installer.rb')
-rw-r--r--test/rubygems/test_gem_dependency_installer.rb100
1 files changed, 42 insertions, 58 deletions
diff --git a/test/rubygems/test_gem_dependency_installer.rb b/test/rubygems/test_gem_dependency_installer.rb
index af6b922fe3..2b95597d4b 100644
--- a/test/rubygems/test_gem_dependency_installer.rb
+++ b/test/rubygems/test_gem_dependency_installer.rb
@@ -6,7 +6,6 @@ class TestGemDependencyInstaller < Gem::TestCase
def setup
super
- common_installer_setup
@gems_dir = File.join @tempdir, 'gems'
@cache_dir = File.join @gemhome, 'cache'
@@ -173,8 +172,7 @@ 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
@@ -182,15 +180,40 @@ class TestGemDependencyInstaller < Gem::TestCase
inst.install 'b'
end
- assert_equal %w[b-1], inst.installed_gems.map { |s| s.full_name },
- 'sanity check'
-
Dir.chdir @tempdir do
inst = Gem::DependencyInstaller.new
inst.install 'e'
end
- assert_equal %w[a-1 e-1], inst.installed_gems.map { |s| s.full_name }
+ 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
+
+ Dir.chdir @tempdir do
+ inst = Gem::DependencyInstaller.new :minimal_deps => true
+ inst.install 'e'
+ end
+
+ assert_equal %w[e-1], inst.installed_gems.map { |s| s.full_name }
end
def test_install_cache_dir
@@ -223,18 +246,15 @@ 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', req("= 2")
+ inst.install 'a', Gem::Requirement.create("= 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
@@ -262,18 +282,19 @@ 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
+ FileUtils.mv a3_gem, @tempdir
+
+ inst = nil
Dir.chdir @tempdir do
- Gem::DependencyInstaller.new.install 'a', req("= 2")
+ inst = Gem::DependencyInstaller.new
+ inst.install 'a', Gem::Requirement.create("= 2")
end
FileUtils.rm File.join(@tempdir, a2.file_name)
- inst = nil
-
Dir.chdir @tempdir do
inst = Gem::DependencyInstaller.new
inst.install 'b'
@@ -467,42 +488,6 @@ 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
@@ -642,12 +627,12 @@ class TestGemDependencyInstaller < Gem::TestCase
inst = nil
Dir.chdir @tempdir do
- e = assert_raises Gem::UnsatisfiableDependencyError do
+ e = assert_raises Gem::DependencyError do
inst = Gem::DependencyInstaller.new :domain => :local
inst.install 'b'
end
- expected = "Unable to resolve dependency: b (= 1) requires a (>= 0)"
+ expected = "Unable to resolve dependencies: b requires a (>= 0)"
assert_equal expected, e.message
end
@@ -925,13 +910,12 @@ class TestGemDependencyInstaller < Gem::TestCase
gems = set.sorted
assert_equal 2, gems.length
-
- remote, local = gems
-
+ local = gems.first
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'