diff options
author | hsbt <hsbt@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-09-08 22:46:43 +0000 |
---|---|---|
committer | hsbt <hsbt@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-09-08 22:46:43 +0000 |
commit | 59991b6ac517fcaa4f8122a1da6552a66892449e (patch) | |
tree | 1379ec1662eca3c5a08e02e221c4b4045d08f0a7 /test | |
parent | 230b8d533e67b82654975fdc581693967ff06daf (diff) | |
download | ruby-59991b6ac517fcaa4f8122a1da6552a66892449e.tar.gz |
* lib/rubygems: Update to RubyGems HEAD(fe61e4c112).
this version contains new feature that warn invalid SPDX license
identifiers. https://github.com/rubygems/rubygems/pull/1249
and #1032, #1023, #1332, #1328, #1306, #1321, #1324
* test/rubygems: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51801 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test')
-rw-r--r-- | test/rubygems/test_config.rb | 10 | ||||
-rw-r--r-- | test/rubygems/test_gem.rb | 4 | ||||
-rw-r--r-- | test/rubygems/test_gem_remote_fetcher.rb | 26 | ||||
-rw-r--r-- | test/rubygems/test_gem_request_set_lockfile_tokenizer.rb | 2 | ||||
-rw-r--r-- | test/rubygems/test_gem_specification.rb | 41 |
5 files changed, 76 insertions, 7 deletions
diff --git a/test/rubygems/test_config.rb b/test/rubygems/test_config.rb index 7829e90dcf..7b89d2ddc4 100644 --- a/test/rubygems/test_config.rb +++ b/test/rubygems/test_config.rb @@ -10,5 +10,15 @@ class TestConfig < Gem::TestCase assert_equal "#{spec.full_gem_path}/data/a", Gem.datadir('a') end + def test_good_rake_path_is_escaped + path = Gem::TestCase.class_eval('@@good_rake') + assert_match(/ruby "[^"]*good_rake.rb"/, path) + end + + def test_bad_rake_path_is_escaped + path = Gem::TestCase.class_eval('@@bad_rake') + assert_match(/ruby "[^"]*bad_rake.rb"/, path) + end + end diff --git a/test/rubygems/test_gem.rb b/test/rubygems/test_gem.rb index 0c5ac51f29..1bcff8c2ff 100644 --- a/test/rubygems/test_gem.rb +++ b/test/rubygems/test_gem.rb @@ -1311,7 +1311,7 @@ class TestGem < Gem::TestCase ENV['GEM_PATH'] = path ENV['RUBYGEMS_GEMDEPS'] = "-" - out = `#{Gem.ruby.dup.untaint} -I #{LIB_PATH.untaint} -rubygems -e "p Gem.loaded_specs.values.map(&:full_name).sort"` + out = `#{Gem.ruby.dup.untaint} -I "#{LIB_PATH.untaint}" -rubygems -e "p Gem.loaded_specs.values.map(&:full_name).sort"` assert_equal '["a-1", "b-1", "c-1"]', out.strip end @@ -1343,7 +1343,7 @@ class TestGem < Gem::TestCase Dir.mkdir "sub1" out = Dir.chdir "sub1" do - `#{Gem.ruby.dup.untaint} -I #{LIB_PATH.untaint} -rubygems -e "p Gem.loaded_specs.values.map(&:full_name).sort"` + `#{Gem.ruby.dup.untaint} -I "#{LIB_PATH.untaint}" -rubygems -e "p Gem.loaded_specs.values.map(&:full_name).sort"` end Dir.rmdir "sub1" diff --git a/test/rubygems/test_gem_remote_fetcher.rb b/test/rubygems/test_gem_remote_fetcher.rb index 826b20d040..bb752d1ef7 100644 --- a/test/rubygems/test_gem_remote_fetcher.rb +++ b/test/rubygems/test_gem_remote_fetcher.rb @@ -252,6 +252,31 @@ PeIQQkFng2VVot/WAQbv3ePqWq07g1BBcwIBAg== dns.verify end + def test_api_endpoint_timeout_warning + uri = URI.parse "http://gems.example.com/foo" + + dns = MiniTest::Mock.new + def dns.getresource arg, *rest + raise Resolv::ResolvError.new('timeout!') + end + + fetch = Gem::RemoteFetcher.new nil, dns + begin + old_verbose, Gem.configuration.verbose = Gem.configuration.verbose, 1 + endpoint = use_ui @ui do + fetch.api_endpoint(uri) + end + ensure + Gem.configuration.verbose = old_verbose + end + + assert_equal uri, endpoint + + assert_equal "Getting SRV record failed: timeout!\n", @ui.output + + dns.verify + end + def test_cache_update_path uri = URI 'http://example/file' path = File.join @tempdir, 'file' @@ -1010,3 +1035,4 @@ PeIQQkFng2VVot/WAQbv3ePqWq07g1BBcwIBAg== end end + diff --git a/test/rubygems/test_gem_request_set_lockfile_tokenizer.rb b/test/rubygems/test_gem_request_set_lockfile_tokenizer.rb index bf56f5019b..b11858361e 100644 --- a/test/rubygems/test_gem_request_set_lockfile_tokenizer.rb +++ b/test/rubygems/test_gem_request_set_lockfile_tokenizer.rb @@ -19,7 +19,7 @@ class TestGemRequestSetLockfileTokenizer < Gem::TestCase assert_equal :newline, tokenizer.next_token.first - assert_equal [:EOF], tokenizer.peek + assert_equal :EOF, tokenizer.peek.first end def test_skip diff --git a/test/rubygems/test_gem_specification.rb b/test/rubygems/test_gem_specification.rb index 29c8b7c178..0ada8db490 100644 --- a/test/rubygems/test_gem_specification.rb +++ b/test/rubygems/test_gem_specification.rb @@ -1178,7 +1178,7 @@ dependencies: [] s.summary = 'summary' s.description = 'description' s.authors = 'author a', 'author b' - s.licenses = 'BSD' + s.licenses = 'BSD-2-Clause' s.files = 'lib/file.rb' s.test_files = 'test/file.rb' s.rdoc_options = '--foo' @@ -2608,12 +2608,14 @@ end end end - def test_validate_dependencies_open_ended + def test_validate_dependencies_duplicates util_setup_validate Dir.chdir @tempdir do @a1.add_runtime_dependency 'b', '~> 1.2' @a1.add_runtime_dependency 'b', '>= 1.2.3' + @a1.add_development_dependency 'c', '~> 1.2' + @a1.add_development_dependency 'c', '>= 1.2.3' use_ui @ui do e = assert_raises Gem::InvalidSpecificationException do @@ -2623,6 +2625,8 @@ end expected = <<-EXPECTED duplicate dependency on b (>= 1.2.3), (~> 1.2) use: add_runtime_dependency 'b', '>= 1.2.3', '~> 1.2' +duplicate dependency on c (>= 1.2.3, development), (~> 1.2) use: + add_development_dependency 'c', '>= 1.2.3', '~> 1.2' EXPECTED assert_equal expected, e.message @@ -2634,6 +2638,21 @@ duplicate dependency on b (>= 1.2.3), (~> 1.2) use: end end + def test_validate_dependencies_allowed_duplicates + util_setup_validate + + Dir.chdir @tempdir do + @a1.add_runtime_dependency 'b', '~> 1.2' + @a1.add_development_dependency 'b', '= 1.2.3' + + use_ui @ui do + @a1.validate + end + + assert_equal '', @ui.error, 'warning' + end + end + def test_validate_description util_setup_validate @@ -2832,8 +2851,22 @@ duplicate dependency on b (>= 1.2.3), (~> 1.2) use: end assert_match <<-warning, @ui.error -WARNING: licenses is empty, but is recommended. Use a license abbreviation from: -http://opensource.org/licenses/alphabetical +WARNING: licenses is empty, but is recommended. Use a license identifier from +http://spdx.org/licenses or 'Nonstandard' for a nonstandard license. + warning + end + + def test_validate_license_values + util_setup_validate + + use_ui @ui do + @a1.licenses = ['BSD'] + @a1.validate + end + + assert_match <<-warning, @ui.error +WARNING: license value 'BSD' is invalid. Use a license identifier from +http://spdx.org/licenses or 'Nonstandard' for a nonstandard license. warning end |