From 05ca2faba2e0851f2b8c659974b1742458e2cf8e Mon Sep 17 00:00:00 2001 From: drbrain Date: Fri, 18 Oct 2013 00:41:36 +0000 Subject: * lib/rubygems: Update to RubyGems master cee6788. Changes: Fix test failure on vc10-x64 Server on rubyci.org due to attempting to File.chmod where it is not supported. Continuing work on improved gem dependencies file (Gemfile) support. * test: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43347 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/rubygems/test_gem_request_set.rb | 24 ++++++++++++++++++++ .../test_gem_request_set_gem_dependency_api.rb | 26 ++++++++++++++++++++++ test/rubygems/test_gem_specification.rb | 6 +++-- 3 files changed, 54 insertions(+), 2 deletions(-) (limited to 'test') diff --git a/test/rubygems/test_gem_request_set.rb b/test/rubygems/test_gem_request_set.rb index df26784b2f..5076072791 100644 --- a/test/rubygems/test_gem_request_set.rb +++ b/test/rubygems/test_gem_request_set.rb @@ -17,6 +17,30 @@ class TestGemRequestSet < Gem::TestCase assert_equal [Gem::Dependency.new("a", "=2")], rs.dependencies end + def test_import + rs = Gem::RequestSet.new + rs.gem 'a' + + rs.import [dep('b')] + + assert_equal [dep('a'), dep('b')], rs.dependencies + end + + def test_load_gemdeps + rs = Gem::RequestSet.new + + Tempfile.open 'gem.deps.rb' do |io| + io.puts 'gem "a"' + io.flush + + rs.load_gemdeps io.path + end + + assert_equal [dep('a')], rs.dependencies + + assert rs.vendor_set + end + def test_resolve a = util_spec "a", "2", "b" => ">= 2" b = util_spec "b", "2" diff --git a/test/rubygems/test_gem_request_set_gem_dependency_api.rb b/test/rubygems/test_gem_request_set_gem_dependency_api.rb index 4747250f60..5c35484421 100644 --- a/test/rubygems/test_gem_request_set_gem_dependency_api.rb +++ b/test/rubygems/test_gem_request_set_gem_dependency_api.rb @@ -10,7 +10,10 @@ class TestGemRequestSetGemDependencyAPI < Gem::TestCase @set = Gem::RequestSet.new + @vendor_set = Gem::DependencyResolver::VendorSet.new + @gda = @GDA.new @set, 'gem.deps.rb' + @gda.instance_variable_set :@vendor_set, @vendor_set end def test_gem @@ -44,6 +47,18 @@ class TestGemRequestSetGemDependencyAPI < Gem::TestCase assert_empty @set.dependencies end + def test_gem_path + name, version, directory = vendor_gem + + @gda.gem name, :path => directory + + assert_equal [dep(name)], @set.dependencies + + loaded = @vendor_set.load_spec(name, version, Gem::Platform::RUBY, nil) + + assert_equal "#{name}-#{version}", loaded.full_name + end + def test_gem_requirement @gda.gem 'a', '~> 1.0' @@ -80,6 +95,17 @@ class TestGemRequestSetGemDependencyAPI < Gem::TestCase assert_empty @set.dependencies end + def test_group_multiple + @gda.group :a do + @gda.gem 'a', :group => :b, :groups => [:c, :d] + end + + assert_equal [['a']], @gda.dependency_groups[:a] + assert_equal [['a']], @gda.dependency_groups[:b] + assert_equal [['a']], @gda.dependency_groups[:c] + assert_equal [['a']], @gda.dependency_groups[:d] + end + def test_load Tempfile.open 'gem.deps.rb' do |io| io.write <<-GEM_DEPS diff --git a/test/rubygems/test_gem_specification.rb b/test/rubygems/test_gem_specification.rb index 5f7c64dd9d..0fd4a2e224 100644 --- a/test/rubygems/test_gem_specification.rb +++ b/test/rubygems/test_gem_specification.rb @@ -1175,8 +1175,10 @@ dependencies: [] @ext.build_extensions end ensure - FileUtils.chmod 0755, File.join(@ext.base_dir, 'extensions') - FileUtils.chmod 0755, @ext.base_dir + unless Gem.win_platform? then + FileUtils.chmod 0755, File.join(@ext.base_dir, 'extensions') + FileUtils.chmod 0755, @ext.base_dir + end end def test_build_extensions_no_extensions_dir_unwritable -- cgit v1.2.3