summaryrefslogtreecommitdiff
path: root/test/rubygems
diff options
context:
space:
mode:
authorhsbt <hsbt@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-09-08 22:46:43 +0000
committerhsbt <hsbt@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-09-08 22:46:43 +0000
commit59991b6ac517fcaa4f8122a1da6552a66892449e (patch)
tree1379ec1662eca3c5a08e02e221c4b4045d08f0a7 /test/rubygems
parent230b8d533e67b82654975fdc581693967ff06daf (diff)
* 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/rubygems')
-rw-r--r--test/rubygems/test_config.rb10
-rw-r--r--test/rubygems/test_gem.rb4
-rw-r--r--test/rubygems/test_gem_remote_fetcher.rb26
-rw-r--r--test/rubygems/test_gem_request_set_lockfile_tokenizer.rb2
-rw-r--r--test/rubygems/test_gem_specification.rb41
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