mirror of
https://github.com/ruby/ruby.git
synced 2025-08-23 21:14:23 +02:00
Update to RubyGems 1.3.4 r2223
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23659 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
a6afbaeb3b
commit
31c94ffeb5
126 changed files with 7610 additions and 3747 deletions
|
@ -11,6 +11,52 @@ class TestGemCommandsInstallCommand < RubyGemTestCase
|
|||
@cmd.options[:generate_ri] = false
|
||||
end
|
||||
|
||||
def test_execute_exclude_prerelease
|
||||
util_setup_fake_fetcher(:prerelease)
|
||||
util_setup_spec_fetcher @a2, @a2_pre
|
||||
|
||||
@fetcher.data["#{@gem_repo}gems/#{@a2.full_name}.gem"] =
|
||||
read_binary(File.join(@gemhome, 'cache', "#{@a2.full_name}.gem"))
|
||||
@fetcher.data["#{@gem_repo}gems/#{@a2_pre.full_name}.gem"] =
|
||||
read_binary(File.join(@gemhome, 'cache', "#{@a2_pre.full_name}.gem"))
|
||||
|
||||
@cmd.options[:args] = [@a2.name]
|
||||
|
||||
use_ui @ui do
|
||||
e = assert_raises Gem::SystemExitException do
|
||||
@cmd.execute
|
||||
end
|
||||
assert_equal 0, e.exit_code, @ui.error
|
||||
end
|
||||
|
||||
assert_match(/Successfully installed #{@a2.full_name}$/, @ui.output)
|
||||
refute_match(/Successfully installed #{@a2_pre.full_name}$/, @ui.output)
|
||||
end
|
||||
|
||||
def test_execute_explicit_version_includes_prerelease
|
||||
util_setup_fake_fetcher(:prerelease)
|
||||
util_setup_spec_fetcher @a2, @a2_pre
|
||||
|
||||
@fetcher.data["#{@gem_repo}gems/#{@a2.full_name}.gem"] =
|
||||
read_binary(File.join(@gemhome, 'cache', "#{@a2.full_name}.gem"))
|
||||
@fetcher.data["#{@gem_repo}gems/#{@a2_pre.full_name}.gem"] =
|
||||
read_binary(File.join(@gemhome, 'cache', "#{@a2_pre.full_name}.gem"))
|
||||
|
||||
@cmd.handle_options [@a2_pre.name, '--version', @a2_pre.version.to_s]
|
||||
assert @cmd.options[:prerelease]
|
||||
assert @cmd.options[:version].satisfied_by?(@a2_pre.version)
|
||||
|
||||
use_ui @ui do
|
||||
e = assert_raises Gem::SystemExitException do
|
||||
@cmd.execute
|
||||
end
|
||||
assert_equal 0, e.exit_code, @ui.error
|
||||
end
|
||||
|
||||
refute_match(/Successfully installed #{@a2.full_name}$/, @ui.output)
|
||||
assert_match(/Successfully installed #{@a2_pre.full_name}$/, @ui.output)
|
||||
end
|
||||
|
||||
def test_execute_include_dependencies
|
||||
@cmd.options[:include_dependencies] = true
|
||||
@cmd.options[:args] = []
|
||||
|
@ -57,6 +103,34 @@ class TestGemCommandsInstallCommand < RubyGemTestCase
|
|||
assert out.empty?, out.inspect
|
||||
end
|
||||
|
||||
def test_no_user_install
|
||||
skip 'skipped on MS Windows (chmod has no effect)' if win_platform?
|
||||
|
||||
util_setup_fake_fetcher
|
||||
@cmd.options[:user_install] = false
|
||||
|
||||
FileUtils.mv File.join(@gemhome, 'cache', "#{@a2.full_name}.gem"),
|
||||
File.join(@tempdir)
|
||||
|
||||
@cmd.options[:args] = [@a2.name]
|
||||
|
||||
use_ui @ui do
|
||||
orig_dir = Dir.pwd
|
||||
begin
|
||||
File.chmod 0755, @userhome
|
||||
File.chmod 0555, @gemhome
|
||||
|
||||
Dir.chdir @tempdir
|
||||
assert_raises Gem::FilePermissionError do
|
||||
@cmd.execute
|
||||
end
|
||||
ensure
|
||||
Dir.chdir orig_dir
|
||||
File.chmod 0755, @gemhome
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def test_execute_local_missing
|
||||
util_setup_fake_fetcher
|
||||
@cmd.options[:domain] = :local
|
||||
|
@ -100,6 +174,29 @@ class TestGemCommandsInstallCommand < RubyGemTestCase
|
|||
@ui.error
|
||||
end
|
||||
|
||||
def test_execute_prerelease
|
||||
util_setup_fake_fetcher(:prerelease)
|
||||
util_setup_spec_fetcher @a2, @a2_pre
|
||||
|
||||
@fetcher.data["#{@gem_repo}gems/#{@a2.full_name}.gem"] =
|
||||
read_binary(File.join(@gemhome, 'cache', "#{@a2.full_name}.gem"))
|
||||
@fetcher.data["#{@gem_repo}gems/#{@a2_pre.full_name}.gem"] =
|
||||
read_binary(File.join(@gemhome, 'cache', "#{@a2_pre.full_name}.gem"))
|
||||
|
||||
@cmd.options[:prerelease] = true
|
||||
@cmd.options[:args] = [@a2_pre.name]
|
||||
|
||||
use_ui @ui do
|
||||
e = assert_raises Gem::SystemExitException do
|
||||
@cmd.execute
|
||||
end
|
||||
assert_equal 0, e.exit_code, @ui.error
|
||||
end
|
||||
|
||||
refute_match(/Successfully installed #{@a2.full_name}$/, @ui.output)
|
||||
assert_match(/Successfully installed #{@a2_pre.full_name}$/, @ui.output)
|
||||
end
|
||||
|
||||
def test_execute_remote
|
||||
@cmd.options[:generate_rdoc] = true
|
||||
@cmd.options[:generate_ri] = true
|
||||
|
@ -112,17 +209,10 @@ class TestGemCommandsInstallCommand < RubyGemTestCase
|
|||
|
||||
@cmd.options[:args] = [@a2.name]
|
||||
|
||||
err = ""
|
||||
class << err
|
||||
alias write <<
|
||||
end
|
||||
use_ui @ui do
|
||||
e = assert_raises Gem::SystemExitException do
|
||||
stderr, $stderr = $stderr, err
|
||||
begin
|
||||
capture_io do
|
||||
@cmd.execute
|
||||
ensure
|
||||
$stderr = stderr
|
||||
end
|
||||
end
|
||||
assert_equal 0, e.exit_code
|
||||
|
@ -136,7 +226,6 @@ class TestGemCommandsInstallCommand < RubyGemTestCase
|
|||
assert_equal "Installing RDoc documentation for #{@a2.full_name}...",
|
||||
out.shift
|
||||
assert out.empty?, out.inspect
|
||||
assert_match /^Updating class cache with \d+ classes/, err
|
||||
end
|
||||
|
||||
def test_execute_two
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue