summaryrefslogtreecommitdiff
path: root/test/rubygems/test_gem_dependency_installer.rb
diff options
context:
space:
mode:
authordrbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-10-16 00:14:16 +0000
committerdrbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-10-16 00:14:16 +0000
commit28918eac58eb6e2681d10839ac0d1430b2a4f1f9 (patch)
tree3c2c9e36118efe1d9406acdd14c186788879bea3 /test/rubygems/test_gem_dependency_installer.rb
parentcfe1458078b8cf36e490c516977c52e1faa9e88a (diff)
* lib/rubygems: Update to RubyGems master commit 2a74263. This fixes
several bugs in RubyGems 2.2.0.preview.1. * test/rubygems: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43298 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/rubygems/test_gem_dependency_installer.rb')
-rw-r--r--test/rubygems/test_gem_dependency_installer.rb35
1 files changed, 35 insertions, 0 deletions
diff --git a/test/rubygems/test_gem_dependency_installer.rb b/test/rubygems/test_gem_dependency_installer.rb
index af6b922fe3..8433be6bd0 100644
--- a/test/rubygems/test_gem_dependency_installer.rb
+++ b/test/rubygems/test_gem_dependency_installer.rb
@@ -388,6 +388,41 @@ class TestGemDependencyInstaller < Gem::TestCase
assert_equal %w[b-1], inst.installed_gems.map { |s| s.full_name }
end
+ def test_install_dependency_existing_extension
+ extconf_rb = File.join @gemhome, 'gems', 'e-1', 'extconf.rb'
+ FileUtils.mkdir_p File.dirname extconf_rb
+
+ open extconf_rb, 'w' do |io|
+ io.write <<-EXTCONF_RB
+ require 'mkmf'
+ create_makefile 'e'
+ EXTCONF_RB
+ end
+
+ e1 = new_spec 'e', '1', nil, 'extconf.rb' do |s|
+ s.extensions << 'extconf.rb'
+ end
+ e1_gem = File.join @tempdir, 'gems', "#{e1.full_name}.gem"
+
+ _, f1_gem = util_gem 'f', '1', 'e' => nil
+
+ Gem::Installer.new(e1_gem).install
+ FileUtils.rm_r e1.extension_install_dir
+
+ FileUtils.mv e1_gem, @tempdir
+ FileUtils.mv f1_gem, @tempdir
+ inst = nil
+
+ Dir.chdir @tempdir do
+ inst = Gem::DependencyInstaller.new
+ inst.install 'f'
+ end
+
+ assert_equal %w[f-1], inst.installed_gems.map { |s| s.full_name }
+
+ assert_path_exists e1.extension_install_dir
+ end
+
def test_install_dependency_old
_, e1_gem = util_gem 'e', '1'
_, f1_gem = util_gem 'f', '1', 'e' => nil