1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* lib/rubygems/package/old.rb: Disallow installation of old-format

gems when a security policy is active.
	* test/rubygems/test_gem_package_old.rb:  Test for above.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39142 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
drbrain 2013-02-07 22:48:35 +00:00
parent 45bcf5d46f
commit a75922010f
3 changed files with 68 additions and 0 deletions

View file

@ -18,6 +18,14 @@ class TestGemPackageOld < Gem::TestCase
assert_equal %w[lib/foo.rb lib/test.rb lib/test/wow.rb], @package.contents
end
def test_contents_security_policy
@package.security_policy = Gem::Security::AlmostNoSecurity
assert_raises Gem::Security::Exception do
@package.contents
end
end
def test_extract_files
@package.extract_files @destination
@ -29,9 +37,43 @@ class TestGemPackageOld < Gem::TestCase
assert_equal mask, File.stat(extracted).mode unless win_platform?
end
def test_extract_files_security_policy
@package.security_policy = Gem::Security::AlmostNoSecurity
assert_raises Gem::Security::Exception do
@package.extract_files @destination
end
end
def test_spec
assert_equal 'testing', @package.spec.name
end
def test_spec_security_policy
@package.security_policy = Gem::Security::AlmostNoSecurity
assert_raises Gem::Security::Exception do
@package.spec
end
end
def test_verify
assert @package.verify
@package.security_policy = Gem::Security::NoSecurity
assert @package.verify
@package.security_policy = Gem::Security::AlmostNoSecurity
e = assert_raises Gem::Security::Exception do
@package.verify
end
assert_equal 'old format gems do not contain signatures ' +
'and cannot be verified',
e.message
end
end