From 934f537b458778f4786716c95b73fc72bc1ce256 Mon Sep 17 00:00:00 2001 From: ryan Date: Fri, 28 Jan 2011 23:46:47 +0000 Subject: Import rubygems 1.5.0 (release candidate @ 09893d9) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30717 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/rubygems/gem_installer_test_case.rb | 103 ---- test/rubygems/gem_package_tar_test_case.rb | 140 ----- test/rubygems/gemutilities.rb | 629 --------------------- test/rubygems/mockgemui.rb | 65 --- test/rubygems/simple_gem.rb | 4 +- test/rubygems/test_config.rb | 4 +- test/rubygems/test_gem.rb | 4 +- test/rubygems/test_gem_builder.rb | 4 +- test/rubygems/test_gem_command.rb | 6 +- test/rubygems/test_gem_command_manager.rb | 12 +- test/rubygems/test_gem_commands_build_command.rb | 4 +- test/rubygems/test_gem_commands_cert_command.rb | 4 +- test/rubygems/test_gem_commands_check_command.rb | 4 +- .../rubygems/test_gem_commands_contents_command.rb | 6 +- .../test_gem_commands_dependency_command.rb | 8 +- .../test_gem_commands_environment_command.rb | 4 +- test/rubygems/test_gem_commands_fetch_command.rb | 4 +- .../test_gem_commands_generate_index_command.rb | 6 +- test/rubygems/test_gem_commands_install_command.rb | 4 +- test/rubygems/test_gem_commands_list_command.rb | 4 +- test/rubygems/test_gem_commands_lock_command.rb | 4 +- .../rubygems/test_gem_commands_outdated_command.rb | 4 +- test/rubygems/test_gem_commands_owner_command.rb | 10 +- .../rubygems/test_gem_commands_pristine_command.rb | 4 +- test/rubygems/test_gem_commands_push_command.rb | 6 +- test/rubygems/test_gem_commands_query_command.rb | 4 +- test/rubygems/test_gem_commands_server_command.rb | 4 +- test/rubygems/test_gem_commands_sources_command.rb | 8 +- .../test_gem_commands_specification_command.rb | 6 +- test/rubygems/test_gem_commands_stale_command.rb | 4 +- .../test_gem_commands_uninstall_command.rb | 26 +- test/rubygems/test_gem_commands_unpack_command.rb | 4 +- test/rubygems/test_gem_commands_update_command.rb | 4 +- test/rubygems/test_gem_commands_which_command.rb | 6 +- test/rubygems/test_gem_config_file.rb | 4 +- test/rubygems/test_gem_dependency.rb | 6 +- test/rubygems/test_gem_dependency_installer.rb | 4 +- test/rubygems/test_gem_dependency_list.rb | 6 +- test/rubygems/test_gem_doc_manager.rb | 4 +- test/rubygems/test_gem_ext_configure_builder.rb | 4 +- test/rubygems/test_gem_ext_ext_conf_builder.rb | 4 +- test/rubygems/test_gem_ext_rake_builder.rb | 4 +- test/rubygems/test_gem_format.rb | 4 +- test/rubygems/test_gem_gem_path_searcher.rb | 4 +- test/rubygems/test_gem_gem_runner.rb | 4 +- test/rubygems/test_gem_gemcutter_utilities.rb | 8 +- test/rubygems/test_gem_indexer.rb | 8 +- test/rubygems/test_gem_install_update_options.rb | 4 +- test/rubygems/test_gem_installer.rb | 11 +- test/rubygems/test_gem_local_remote_options.rb | 4 +- test/rubygems/test_gem_package_tar_header.rb | 4 +- test/rubygems/test_gem_package_tar_input.rb | 4 +- test/rubygems/test_gem_package_tar_output.rb | 4 +- test/rubygems/test_gem_package_tar_reader.rb | 4 +- test/rubygems/test_gem_package_tar_reader_entry.rb | 4 +- test/rubygems/test_gem_package_tar_writer.rb | 4 +- test/rubygems/test_gem_package_task.rb | 4 +- test/rubygems/test_gem_platform.rb | 4 +- test/rubygems/test_gem_remote_fetcher.rb | 6 +- test/rubygems/test_gem_requirement.rb | 4 +- test/rubygems/test_gem_security.rb | 4 +- test/rubygems/test_gem_server.rb | 4 +- test/rubygems/test_gem_source_index.rb | 4 +- test/rubygems/test_gem_spec_fetcher.rb | 4 +- test/rubygems/test_gem_specification.rb | 8 +- test/rubygems/test_gem_stream_ui.rb | 22 +- test/rubygems/test_gem_text.rb | 4 +- test/rubygems/test_gem_uninstaller.rb | 27 +- test/rubygems/test_gem_validator.rb | 4 +- test/rubygems/test_gem_version.rb | 4 +- test/rubygems/test_gem_version_option.rb | 4 +- test/rubygems/test_kernel.rb | 6 +- 72 files changed, 212 insertions(+), 1121 deletions(-) delete mode 100644 test/rubygems/gem_installer_test_case.rb delete mode 100644 test/rubygems/gem_package_tar_test_case.rb delete mode 100644 test/rubygems/gemutilities.rb delete mode 100644 test/rubygems/mockgemui.rb (limited to 'test') diff --git a/test/rubygems/gem_installer_test_case.rb b/test/rubygems/gem_installer_test_case.rb deleted file mode 100644 index 6bf9687e86..0000000000 --- a/test/rubygems/gem_installer_test_case.rb +++ /dev/null @@ -1,103 +0,0 @@ -###################################################################### -# This file is imported from the rubygems project. -# DO NOT make modifications in this repo. They _will_ be reverted! -# File a patch instead and assign it to Ryan Davis or Eric Hodel. -###################################################################### - -require "test/rubygems/gemutilities" -require 'rubygems/installer' - -class Gem::Installer - attr_accessor :gem_dir - - attr_writer :format - attr_writer :gem_home - attr_writer :env_shebang - attr_writer :ignore_dependencies - attr_writer :format_executable - attr_writer :security_policy - attr_writer :spec - attr_writer :wrappers -end - -class GemInstallerTestCase < RubyGemTestCase - - def setup - super - - @spec = quick_gem 'a' - @gem = File.join @tempdir, @spec.file_name - - @installer = util_installer @spec, @gem, @gemhome - - @user_spec = quick_gem 'b' - @user_gem = File.join @tempdir, @user_spec.file_name - - @user_installer = util_installer @user_spec, @user_gem, Gem.user_dir - @user_installer.gem_dir = File.join(Gem.user_dir, 'gems', - @user_spec.full_name) - end - - def util_gem_bindir(version = '2') - File.join util_gem_dir(version), "bin" - end - - def util_gem_dir(version = '2') - File.join @gemhome, "gems", "a-#{version}" # HACK - end - - def util_inst_bindir - File.join @gemhome, "bin" - end - - def util_make_exec(version = '2', shebang = "#!/usr/bin/ruby") - @spec.executables = ["my_exec"] - - FileUtils.mkdir_p util_gem_bindir(version) - exec_path = File.join util_gem_bindir(version), "my_exec" - File.open exec_path, 'w' do |f| - f.puts shebang - end - end - - def util_setup_gem(ui = @ui) # HACK fix use_ui to make this automatic - @spec.files = File.join('lib', 'code.rb') - @spec.executables << 'executable' - @spec.extensions << File.join('ext', 'a', 'mkrf_conf.rb') - - Dir.chdir @tempdir do - FileUtils.mkdir_p 'bin' - FileUtils.mkdir_p 'lib' - FileUtils.mkdir_p File.join('ext', 'a') - File.open File.join('bin', 'executable'), 'w' do |f| f.puts '1' end - File.open File.join('lib', 'code.rb'), 'w' do |f| f.puts '1' end - File.open File.join('ext', 'a', 'mkrf_conf.rb'), 'w' do |f| - f << <<-EOF - File.open 'Rakefile', 'w' do |rf| rf.puts "task :default" end - EOF - end - - use_ui ui do - FileUtils.rm @gem - Gem::Builder.new(@spec).build - end - end - - @installer = Gem::Installer.new @gem - end - - def util_installer(spec, gem_path, gem_home) - util_build_gem spec - FileUtils.mv File.join(@gemhome, 'cache', spec.file_name), - @tempdir - - installer = Gem::Installer.new gem_path - installer.gem_dir = util_gem_dir - installer.gem_home = gem_home - installer.spec = spec - - installer - end - -end - diff --git a/test/rubygems/gem_package_tar_test_case.rb b/test/rubygems/gem_package_tar_test_case.rb deleted file mode 100644 index 572c6b8a02..0000000000 --- a/test/rubygems/gem_package_tar_test_case.rb +++ /dev/null @@ -1,140 +0,0 @@ -###################################################################### -# This file is imported from the rubygems project. -# DO NOT make modifications in this repo. They _will_ be reverted! -# File a patch instead and assign it to Ryan Davis or Eric Hodel. -###################################################################### - -require "test/rubygems/gemutilities" -require 'rubygems/package' - -class TarTestCase < RubyGemTestCase - - def ASCIIZ(str, length) - str + "\0" * (length - str.length) - end - - def SP(s) - s + " " - end - - def SP_Z(s) - s + " \0" - end - - def Z(s) - s + "\0" - end - - def assert_headers_equal(expected, actual) - expected = expected.to_s unless String === expected - actual = actual.to_s unless String === actual - - fields = %w[ - name 100 - mode 8 - uid 8 - gid 8 - size 12 - mtime 12 - checksum 8 - typeflag 1 - linkname 100 - magic 6 - version 2 - uname 32 - gname 32 - devmajor 8 - devminor 8 - prefix 155 - ] - - offset = 0 - - until fields.empty? do - name = fields.shift - length = fields.shift.to_i - - if name == "checksum" then - chksum_off = offset - offset += length - next - end - - assert_equal expected[offset, length], actual[offset, length], - "Field #{name} of the tar header differs." - - offset += length - end - - assert_equal expected[chksum_off, 8], actual[chksum_off, 8] - end - - def calc_checksum(header) - sum = header.unpack("C*").inject{|s,a| s + a} - SP(Z(to_oct(sum, 6))) - end - - def header(type, fname, dname, length, mode, checksum = nil) - checksum ||= " " * 8 - - arr = [ # struct tarfile_entry_posix - ASCIIZ(fname, 100), # char name[100]; ASCII + (Z unless filled) - Z(to_oct(mode, 7)), # char mode[8]; 0 padded, octal null - Z(to_oct(0, 7)), # char uid[8]; ditto - Z(to_oct(0, 7)), # char gid[8]; ditto - Z(to_oct(length, 11)), # char size[12]; 0 padded, octal, null - Z(to_oct(0, 11)), # char mtime[12]; 0 padded, octal, null - checksum, # char checksum[8]; 0 padded, octal, null, space - type, # char typeflag[1]; file: "0" dir: "5" - "\0" * 100, # char linkname[100]; ASCII + (Z unless filled) - "ustar\0", # char magic[6]; "ustar\0" - "00", # char version[2]; "00" - ASCIIZ("wheel", 32), # char uname[32]; ASCIIZ - ASCIIZ("wheel", 32), # char gname[32]; ASCIIZ - Z(to_oct(0, 7)), # char devmajor[8]; 0 padded, octal, null - Z(to_oct(0, 7)), # char devminor[8]; 0 padded, octal, null - ASCIIZ(dname, 155) # char prefix[155]; ASCII + (Z unless filled) - ] - - format = "C100C8C8C8C12C12C8CC100C6C2C32C32C8C8C155" - h = if RUBY_VERSION >= "1.9" then - arr.join - else - arr = arr.join("").split(//).map{|x| x[0]} - arr.pack format - end - ret = h + "\0" * (512 - h.size) - assert_equal(512, ret.size) - ret - end - - def tar_dir_header(name, prefix, mode) - h = header("5", name, prefix, 0, mode) - checksum = calc_checksum(h) - header("5", name, prefix, 0, mode, checksum) - end - - def tar_file_header(fname, dname, mode, length) - h = header("0", fname, dname, length, mode) - checksum = calc_checksum(h) - header("0", fname, dname, length, mode, checksum) - end - - def to_oct(n, pad_size) - "%0#{pad_size}o" % n - end - - def util_entry(tar) - io = TempIO.new tar - - header = Gem::Package::TarHeader.from io - - Gem::Package::TarReader::Entry.new header, io - end - - def util_dir_entry - util_entry tar_dir_header("foo", "bar", 0) - end - -end - diff --git a/test/rubygems/gemutilities.rb b/test/rubygems/gemutilities.rb deleted file mode 100644 index 9c94a128d0..0000000000 --- a/test/rubygems/gemutilities.rb +++ /dev/null @@ -1,629 +0,0 @@ -###################################################################### -# This file is imported from the rubygems project. -# DO NOT make modifications in this repo. They _will_ be reverted! -# File a patch instead and assign it to Ryan Davis or Eric Hodel. -###################################################################### - -at_exit { $SAFE = 1 } - -# $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib')) - -if defined? Gem::QuickLoader - Gem::QuickLoader.load_full_rubygems_library -else - require 'rubygems' -end -require 'fileutils' -require 'minitest/autorun' -require 'tmpdir' -require 'uri' -require 'rubygems/package' -require 'rubygems/test_utilities' -require 'pp' -require 'yaml' -require 'zlib' - -begin - YAML::ENGINE.yamler = 'psych' -rescue LoadError -end if YAML.const_defined? :ENGINE - -begin - gem 'rdoc' -rescue Gem::LoadError -end - -require 'rdoc/rdoc' - -require "test/rubygems/mockgemui" - -module Gem - def self.searcher=(searcher) - @searcher = searcher - end - - def self.source_index=(si) - @@source_index = si - end - - def self.win_platform=(val) - @@win_platform = val - end - - def self.ruby= ruby - @ruby = ruby - end - - module DefaultUserInteraction - @ui = MockGemUi.new - end -end - -class RubyGemTestCase < MiniTest::Unit::TestCase - - include Gem::DefaultUserInteraction - - undef_method :default_test if instance_methods.include? 'default_test' or - instance_methods.include? :default_test - - def setup - super - - @orig_gem_home = ENV['GEM_HOME'] - @orig_gem_path = ENV['GEM_PATH'] - - @ui = MockGemUi.new - tmpdir = nil - Dir.chdir Dir.tmpdir do tmpdir = Dir.pwd end # HACK OSX /private/tmp - if ENV['KEEP_FILES'] then - @tempdir = File.join tmpdir, "test_rubygems_#{$$}.#{Time.now.to_i}" - else - @tempdir = File.join tmpdir, "test_rubygems_#{$$}" - end - @tempdir.untaint - @gemhome = File.join @tempdir, 'gemhome' - @userhome = File.join @tempdir, 'userhome' - - Gem.ensure_gem_subdirectories @gemhome - - @orig_ruby = if ruby = ENV['RUBY'] then - Gem.class_eval { ruby, @ruby = @ruby, ruby } - ruby - end - - Gem.ensure_gem_subdirectories @gemhome - - @orig_ENV_HOME = ENV['HOME'] - ENV['HOME'] = @userhome - Gem.instance_variable_set :@user_home, nil - - FileUtils.mkdir_p @gemhome - FileUtils.mkdir_p @userhome - - Gem.use_paths(@gemhome) - Gem.loaded_specs.clear - - Gem.configuration.verbose = true - Gem.configuration.update_sources = true - - @gem_repo = "http://gems.example.com/" - @uri = URI.parse @gem_repo - Gem.sources.replace [@gem_repo] - - Gem::SpecFetcher.fetcher = nil - - @orig_BASERUBY = Gem::ConfigMap[:BASERUBY] - Gem::ConfigMap[:BASERUBY] = Gem::ConfigMap[:ruby_install_name] - - @orig_arch = Gem::ConfigMap[:arch] - - if win_platform? - util_set_arch 'i386-mswin32' - else - util_set_arch 'i686-darwin8.10.1' - end - - @marshal_version = "#{Marshal::MAJOR_VERSION}.#{Marshal::MINOR_VERSION}" - - @private_key = File.expand_path File.join(File.dirname(__FILE__), - 'private_key.pem') - @public_cert = File.expand_path File.join(File.dirname(__FILE__), - 'public_cert.pem') - - Gem.post_build_hooks.clear - Gem.post_install_hooks.clear - Gem.post_uninstall_hooks.clear - Gem.pre_install_hooks.clear - Gem.pre_uninstall_hooks.clear - - Gem.post_build do |installer| - @post_build_hook_arg = installer - true - end - - Gem.post_install do |installer| - @post_install_hook_arg = installer - end - - Gem.post_uninstall do |uninstaller| - @post_uninstall_hook_arg = uninstaller - end - - Gem.pre_install do |installer| - @pre_install_hook_arg = installer - true - end - - Gem.pre_uninstall do |uninstaller| - @pre_uninstall_hook_arg = uninstaller - end - - @orig_LOAD_PATH = $LOAD_PATH.dup - end - - def teardown - $LOAD_PATH.replace @orig_LOAD_PATH - - Gem::ConfigMap[:BASERUBY] = @orig_BASERUBY - Gem::ConfigMap[:arch] = @orig_arch - - if defined? Gem::RemoteFetcher then - Gem::RemoteFetcher.fetcher = nil - end - - FileUtils.rm_rf @tempdir unless ENV['KEEP_FILES'] - - ENV['GEM_HOME'] = @orig_gem_home - ENV['GEM_PATH'] = @orig_gem_path - - Gem.clear_paths - - _ = @orig_ruby - Gem.class_eval { @ruby = _ } if _ - - if @orig_ENV_HOME then - ENV['HOME'] = @orig_ENV_HOME - else - ENV.delete 'HOME' - end - end - - def install_gem gem - require 'rubygems/installer' - - use_ui MockGemUi.new do - Dir.chdir @tempdir do - Gem::Builder.new(gem).build - end - end - - gem = File.join(@tempdir, gem.file_name).untaint - Gem::Installer.new(gem, :wrappers => true).install - end - - def uninstall_gem gem - require 'rubygems/uninstaller' - - uninstaller = Gem::Uninstaller.new gem.name, :executables => true, - :user_install => true - uninstaller.uninstall - end - - def mu_pp(obj) - s = '' - s = PP.pp obj, s - s = s.force_encoding(Encoding.default_external) if defined? Encoding - s.chomp - end - - def prep_cache_files(lc) - @usr_si ||= Gem::SourceIndex.new - @usr_sice ||= Gem::SourceInfoCacheEntry.new @usr_si, 0 - - @sys_si ||= Gem::SourceIndex.new - @sys_sice ||= Gem::SourceInfoCacheEntry.new @sys_si, 0 - - latest_si = Gem::SourceIndex.new - latest_si.add_specs(*@sys_si.latest_specs) - latest_sys_sice = Gem::SourceInfoCacheEntry.new latest_si, 0 - - latest_si = Gem::SourceIndex.new - latest_si.add_specs(*@usr_si.latest_specs) - latest_usr_sice = Gem::SourceInfoCacheEntry.new latest_si, 0 - - [ [lc.system_cache_file, @sys_sice], - [lc.latest_system_cache_file, latest_sys_sice], - [lc.user_cache_file, @usr_sice], - [lc.latest_user_cache_file, latest_usr_sice], - ].each do |filename, data| - FileUtils.mkdir_p File.dirname(filename).untaint - - open filename.dup.untaint, 'wb' do |f| - f.write Marshal.dump({ @gem_repo => data }) - end - end - end - - def read_cache(path) - open path.dup.untaint, 'rb' do |io| - Marshal.load io.read - end - end - - def read_binary(path) - Gem.read_binary path - end - - def write_file(path) - path = File.join(@gemhome, path) - dir = File.dirname path - FileUtils.mkdir_p dir - - open path, 'wb' do |io| - yield io - end - - path - end - - def quick_gem(gemname, version='2') - require 'rubygems/specification' - - spec = Gem::Specification.new do |s| - s.platform = Gem::Platform::RUBY - s.name = gemname - s.version = version - s.author = 'A User' - s.email = 'example@example.com' - s.homepage = 'http://example.com' - s.has_rdoc = true - s.summary = "this is a summary" - s.description = "This is a test description" - - yield(s) if block_given? - end - - path = File.join "specifications", spec.spec_name - written_path = write_file path do |io| - io.write(spec.to_ruby) - end - - spec.loaded_from = written_path - - Gem.source_index.add_spec spec - - return spec - end - - def util_build_gem(spec) - dir = File.join(@gemhome, 'gems', spec.full_name) - FileUtils.mkdir_p dir - - Dir.chdir dir do - spec.files.each do |file| - next if File.exist? file - FileUtils.mkdir_p File.dirname(file) - File.open file, 'w' do |fp| fp.puts "# #{file}" end - end - - use_ui MockGemUi.new do - Gem::Builder.new(spec).build - end - - FileUtils.mv spec.file_name, - File.join(@gemhome, 'cache', "#{spec.original_name}.gem") - end - end - - def util_clear_gems - FileUtils.rm_r File.join(@gemhome, 'gems') - FileUtils.rm_r File.join(@gemhome, 'specifications') - Gem.source_index.refresh! - end - - def util_gem(name, version, deps = nil, &block) - if deps then # fuck you eric - block = proc do |s| - deps.each do |n, req| - s.add_dependency n, (req || '>= 0') - end - end - end - - spec = quick_gem(name, version, &block) - - util_build_gem spec - - cache_file = File.join @tempdir, 'gems', "#{spec.original_name}.gem" - FileUtils.mv File.join(@gemhome, 'cache', "#{spec.original_name}.gem"), - cache_file - FileUtils.rm File.join(@gemhome, 'specifications', spec.spec_name) - - spec.loaded_from = nil - spec.loaded = false - - [spec, cache_file] - end - - def util_gzip(data) - out = StringIO.new - - Zlib::GzipWriter.wrap out do |io| - io.write data - end - - out.string - end - - def util_make_gems(prerelease = false) - @a1 = quick_gem 'a', '1' do |s| - s.files = %w[lib/code.rb] - s.require_paths = %w[lib] - s.date = Gem::Specification::TODAY - 86400 - s.homepage = 'http://a.example.com' - s.email = %w[example@example.com example2@example.com] - s.authors = %w[Example Example2] - s.description = <<-DESC -This line is really, really long. So long, in fact, that it is more than eighty characters long! The purpose of this line is for testing wrapping behavior because sometimes people don't wrap their text to eighty characters. Without the wrapping, the text might not look good in the RSS feed. - -Also, a list: - * An entry that's actually kind of sort - * an entry that's really long, which will probably get wrapped funny. That's ok, somebody wasn't thinking straight when they made it more than eighty characters. - DESC - end - - init = proc do |s| - s.files = %w[lib/code.rb] - s.require_paths = %w[lib] - end - - @a2 = quick_gem('a', '2', &init) - @a3a = quick_gem('a', '3.a', &init) - @a_evil9 = quick_gem('a_evil', '9', &init) - @b2 = quick_gem('b', '2', &init) - @c1_2 = quick_gem('c', '1.2', &init) - @pl1 = quick_gem 'pl', '1' do |s| # l for legacy - s.files = %w[lib/code.rb] - s.require_paths = %w[lib] - s.platform = Gem::Platform.new 'i386-linux' - s.instance_variable_set :@original_platform, 'i386-linux' - end - - if prerelease - @a2_pre = quick_gem('a', '2.a', &init) - write_file File.join(*%W[gems #{@a2_pre.original_name} lib code.rb]) do - end - util_build_gem @a2_pre - end - - write_file File.join(*%W[gems #{@a1.original_name} lib code.rb]) do end - write_file File.join(*%W[gems #{@a2.original_name} lib code.rb]) do end - write_file File.join(*%W[gems #{@a3a.original_name} lib code.rb]) do end - write_file File.join(*%W[gems #{@b2.original_name} lib code.rb]) do end - write_file File.join(*%W[gems #{@c1_2.original_name} lib code.rb]) do end - write_file File.join(*%W[gems #{@pl1.original_name} lib code.rb]) do end - - [@a1, @a2, @a3a, @a_evil9, @b2, @c1_2, @pl1].each do |spec| - util_build_gem spec - end - - FileUtils.rm_r File.join(@gemhome, 'gems', @pl1.original_name) - - Gem.source_index = nil - end - - ## - # Set the platform to +arch+ - - def util_set_arch(arch) - Gem::ConfigMap[:arch] = arch - platform = Gem::Platform.new arch - - Gem.instance_variable_set :@platforms, nil - Gem::Platform.instance_variable_set :@local, nil - - platform - end - - def util_setup_fake_fetcher(prerelease = false) - require 'zlib' - require 'socket' - require 'rubygems/remote_fetcher' - - @fetcher = Gem::FakeFetcher.new - - util_make_gems(prerelease) - - @all_gems = [@a1, @a2, @a3a, @a_evil9, @b2, @c1_2].sort - @all_gem_names = @all_gems.map { |gem| gem.full_name } - - gem_names = [@a1.full_name, @a2.full_name, @a3a.full_name, @b2.full_name] - @gem_names = gem_names.sort.join("\n") - - @source_index = Gem::SourceIndex.new - @source_index.add_spec @a1 - @source_index.add_spec @a2 - @source_index.add_spec @a3a - @source_index.add_spec @a_evil9 - @source_index.add_spec @c1_2 - @source_index.add_spec @a2_pre if prerelease - - Gem::RemoteFetcher.fetcher = @fetcher - end - - def util_setup_spec_fetcher(*specs) - specs = Hash[*specs.map { |spec| [spec.full_name, spec] }.flatten] - si = Gem::SourceIndex.new specs - - spec_fetcher = Gem::SpecFetcher.fetcher - - spec_fetcher.specs[@uri] = [] - si.gems.sort_by { |_, spec| spec }.each do |_, spec| - spec_tuple = [spec.name, spec.version, spec.original_platform] - spec_fetcher.specs[@uri] << spec_tuple - end - - spec_fetcher.latest_specs[@uri] = [] - si.latest_specs.sort.each do |spec| - spec_tuple = [spec.name, spec.version, spec.original_platform] - spec_fetcher.latest_specs[@uri] << spec_tuple - end - - spec_fetcher.prerelease_specs[@uri] = [] - si.prerelease_specs.sort.each do |spec| - spec_tuple = [spec.name, spec.version, spec.original_platform] - spec_fetcher.prerelease_specs[@uri] << spec_tuple - end - - (si.gems.merge si.prerelease_gems).sort_by { |_,spec| spec }.each do |_, spec| - path = "#{@gem_repo}quick/Marshal.#{Gem.marshal_version}/#{spec.original_name}.gemspec.rz" - data = Marshal.dump spec - data_deflate = Zlib::Deflate.deflate data - @fetcher.data[path] = data_deflate - end - - si - end - - def util_zip(data) - Zlib::Deflate.deflate data - end - - def self.win_platform? - Gem.win_platform? - end - - def win_platform? - Gem.win_platform? - end - - # Returns whether or not we're on a version of Ruby built with VC++ (or - # Borland) versus Cygwin, Mingw, etc. - # - def self.vc_windows? - RUBY_PLATFORM.match('mswin') - end - - # Returns whether or not we're on a version of Ruby built with VC++ (or - # Borland) versus Cygwin, Mingw, etc. - # - def vc_windows? - RUBY_PLATFORM.match('mswin') - end - - # Returns the make command for the current platform. For versions of Ruby - # built on MS Windows with VC++ or Borland it will return 'nmake'. On all - # other platforms, including Cygwin, it will return 'make'. - # - def self.make_command - ENV["make"] || (vc_windows? ? 'nmake' : 'make') - end - - # Returns the make command for the current platform. For versions of Ruby - # built on MS Windows with VC++ or Borland it will return 'nmake'. On all - # other platforms, including Cygwin, it will return 'make'. - # - def make_command - ENV["make"] || (vc_windows? ? 'nmake' : 'make') - end - - # Returns whether or not the nmake command could be found. - # - def nmake_found? - system('nmake /? 1>NUL 2>&1') - end - - # NOTE Allow tests to use a random (but controlled) port number instead of - # a hardcoded one. This helps CI tools when running parallels builds on - # the same builder slave. - def self.process_based_port - @@process_based_port ||= 8000 + $$ % 1000 - end - - def process_based_port - self.class.process_based_port - end - - def build_rake_in - gem_ruby = Gem.ruby - Gem.ruby = @@ruby - env_rake = ENV["rake"] - ENV["rake"] = @@rake - yield @@rake - ensure - Gem.ruby = gem_ruby - if env_rake - ENV["rake"] = env_rake - else - ENV.delete("rake") - end - end - - def self.rubybin - ruby = ENV["RUBY"] - return ruby if ruby - ruby = "ruby" - rubyexe = "#{ruby}.exe" - - 3.times do - if File.exist? ruby and File.executable? ruby and !File.directory? ruby - return File.expand_path(ruby) - end - if File.exist? rubyexe and File.executable? rubyexe - return File.expand_path(rubyexe) - end - ruby = File.join("..", ruby) - end - - begin - require "rbconfig" - File.join(RbConfig::CONFIG["bindir"], - RbConfig::CONFIG["ruby_install_name"] + - RbConfig::CONFIG["EXEEXT"]) - rescue LoadError - "ruby" - end - end - - @@ruby = rubybin - env_rake = ENV['rake'] - ruby19_rake = File.expand_path("../../../bin/rake", __FILE__) - @@rake = if env_rake then - ENV["rake"] - elsif File.exist? ruby19_rake then - @@ruby + " " + ruby19_rake - else - 'rake' - end - - ## - # Construct a new Gem::Dependency. - - def dep name, *requirements - Gem::Dependency.new name, *requirements - end - - ## - # Construct a new Gem::Requirement. - - def req *requirements - return requirements.first if Gem::Requirement === requirements.first - Gem::Requirement.create requirements - end - - ## - # Construct a new Gem::Specification. - - def spec name, version, &block - Gem::Specification.new name, v(version), &block - end - - ## - # Construct a new Gem::Version. - - def v string - Gem::Version.create string - end - -end - diff --git a/test/rubygems/mockgemui.rb b/test/rubygems/mockgemui.rb deleted file mode 100644 index 52b0e7ffdc..0000000000 --- a/test/rubygems/mockgemui.rb +++ /dev/null @@ -1,65 +0,0 @@ -###################################################################### -# This file is imported from the rubygems project. -# DO NOT make modifications in this repo. They _will_ be reverted! -# File a patch instead and assign it to Ryan Davis or Eric Hodel. -###################################################################### - -require 'stringio' -require 'rubygems/user_interaction' - -class MockGemUi < Gem::StreamUI - class TermError < RuntimeError; end - - module TTY - - attr_accessor :tty - - def tty?() - @tty = true unless defined?(@tty) - @tty - end - - def noecho - yield self - end - end - - def initialize(input = "") - ins = StringIO.new input - outs = StringIO.new - errs = StringIO.new - - ins.extend TTY - outs.extend TTY - errs.extend TTY - - super ins, outs, errs - - @terminated = false - end - - def input - @ins.string - end - - def output - @outs.string - end - - def error - @errs.string - end - - def terminated? - @terminated - end - - def terminate_interaction(status=0) - @terminated = true - - raise TermError unless status == 0 - raise Gem::SystemExitException, status - end - -end - diff --git a/test/rubygems/simple_gem.rb b/test/rubygems/simple_gem.rb index d2145e6e47..8253e4b2eb 100644 --- a/test/rubygems/simple_gem.rb +++ b/test/rubygems/simple_gem.rb @@ -5,7 +5,7 @@ ###################################################################### SIMPLE_GEM = <<-GEMDATA - MD5SUM = "b12a4d48febeb2289c539c2574c4b6f8" + MD5SUM = "989bf34a1cbecd52e0ea66b662b3a405" if $0 == __FILE__ require 'optparse' @@ -13,7 +13,7 @@ SIMPLE_GEM = <<-GEMDATA ARGV.options do |opts| opts.on_tail("--help", "show this message") {puts opts; exit} opts.on('--dir=DIRNAME', "Installation directory for the Gem") {|options[:directory]|} - opts.on('--force', "Force Gem to intall, bypassing dependency checks") {|options[:force]|} + opts.on('--force', "Force Gem to install, bypassing dependency checks") {|options[:force]|} opts.on('--gen-rdoc', "Generate RDoc documentation for the Gem") {|options[:gen_rdoc]|} opts.parse! end diff --git a/test/rubygems/test_config.rb b/test/rubygems/test_config.rb index da1998390b..190b6092f1 100644 --- a/test/rubygems/test_config.rb +++ b/test/rubygems/test_config.rb @@ -4,10 +4,10 @@ # File a patch instead and assign it to Ryan Davis or Eric Hodel. ###################################################################### -require "test/rubygems/gemutilities" +require 'rubygems/test_case' require 'rubygems' -class TestConfig < RubyGemTestCase +class TestConfig < Gem::TestCase def test_datadir _, err = capture_io do diff --git a/test/rubygems/test_gem.rb b/test/rubygems/test_gem.rb index 6d17d65789..06f25d4775 100644 --- a/test/rubygems/test_gem.rb +++ b/test/rubygems/test_gem.rb @@ -4,14 +4,14 @@ # File a patch instead and assign it to Ryan Davis or Eric Hodel. ###################################################################### -require "test/rubygems/gemutilities" +require 'rubygems/test_case' require 'rubygems' require 'rubygems/gem_openssl' require 'rubygems/installer' require 'pathname' require 'tmpdir' -class TestGem < RubyGemTestCase +class TestGem < Gem::TestCase def setup super diff --git a/test/rubygems/test_gem_builder.rb b/test/rubygems/test_gem_builder.rb index c007548ae5..d146c843bb 100644 --- a/test/rubygems/test_gem_builder.rb +++ b/test/rubygems/test_gem_builder.rb @@ -4,10 +4,10 @@ # File a patch instead and assign it to Ryan Davis or Eric Hodel. ###################################################################### -require "test/rubygems/gemutilities" +require 'rubygems/test_case' require 'rubygems/builder' -class TestGemBuilder < RubyGemTestCase +class TestGemBuilder < Gem::TestCase def test_build builder = Gem::Builder.new quick_gem('a') diff --git a/test/rubygems/test_gem_command.rb b/test/rubygems/test_gem_command.rb index e1db011d44..f79b138df2 100644 --- a/test/rubygems/test_gem_command.rb +++ b/test/rubygems/test_gem_command.rb @@ -4,14 +4,14 @@ # File a patch instead and assign it to Ryan Davis or Eric Hodel. ###################################################################### -require "test/rubygems/gemutilities" +require 'rubygems/test_case' require 'rubygems/command' class Gem::Command public :parser end -class TestGemCommand < RubyGemTestCase +class TestGemCommand < Gem::TestCase def setup super @@ -93,7 +93,7 @@ class TestGemCommand < RubyGemTestCase assert done end - def test_invode_with_bad_options + def test_invoke_with_bad_options use_ui @ui do @cmd.when_invoked do true end diff --git a/test/rubygems/test_gem_command_manager.rb b/test/rubygems/test_gem_command_manager.rb index 66168f0fd5..daadf2520e 100644 --- a/test/rubygems/test_gem_command_manager.rb +++ b/test/rubygems/test_gem_command_manager.rb @@ -4,10 +4,10 @@ # File a patch instead and assign it to Ryan Davis or Eric Hodel. ###################################################################### -require "test/rubygems/gemutilities" +require 'rubygems/test_case' require 'rubygems/command_manager' -class TestGemCommandManager < RubyGemTestCase +class TestGemCommandManager < Gem::TestCase def setup super @@ -21,7 +21,7 @@ class TestGemCommandManager < RubyGemTestCase Gem.load_env_plugins use_ui @ui do - assert_raises MockGemUi::TermError do + assert_raises Gem::MockGemUi::TermError do @command_manager.run 'interrupt' end assert_equal '', ui.output @@ -37,7 +37,7 @@ class TestGemCommandManager < RubyGemTestCase @command_manager.register_command :crash use_ui @ui do - assert_raises MockGemUi::TermError do + assert_raises Gem::MockGemUi::TermError do @command_manager.run 'crash' end assert_equal '', ui.output @@ -50,9 +50,9 @@ class TestGemCommandManager < RubyGemTestCase def test_process_args_bad_arg use_ui @ui do - assert_raises(MockGemUi::TermError) { + assert_raises Gem::MockGemUi::TermError do @command_manager.process_args("--bad-arg") - } + end end assert_match(/invalid option: --bad-arg/i, @ui.error) diff --git a/test/rubygems/test_gem_commands_build_command.rb b/test/rubygems/test_gem_commands_build_command.rb index 9064974551..5c9c5eeb6e 100644 --- a/test/rubygems/test_gem_commands_build_command.rb +++ b/test/rubygems/test_gem_commands_build_command.rb @@ -4,11 +4,11 @@ # File a patch instead and assign it to Ryan Davis or Eric Hodel. ###################################################################### -require "test/rubygems/gemutilities" +require 'rubygems/test_case' require 'rubygems/commands/build_command' require 'rubygems/format' -class TestGemCommandsBuildCommand < RubyGemTestCase +class TestGemCommandsBuildCommand < Gem::TestCase def setup super diff --git a/test/rubygems/test_gem_commands_cert_command.rb b/test/rubygems/test_gem_commands_cert_command.rb index 6afd938861..9d5fc1eada 100644 --- a/test/rubygems/test_gem_commands_cert_command.rb +++ b/test/rubygems/test_gem_commands_cert_command.rb @@ -4,14 +4,14 @@ # File a patch instead and assign it to Ryan Davis or Eric Hodel. ###################################################################### -require "test/rubygems/gemutilities" +require 'rubygems/test_case' require 'rubygems/commands/cert_command' unless defined? OpenSSL then warn "`gem cert` tests are being skipped, module OpenSSL not found" end -class TestGemCommandsCertCommand < RubyGemTestCase +class TestGemCommandsCertCommand < Gem::TestCase def setup super diff --git a/test/rubygems/test_gem_commands_check_command.rb b/test/rubygems/test_gem_commands_check_command.rb index 14418148f0..688210d3d1 100644 --- a/test/rubygems/test_gem_commands_check_command.rb +++ b/test/rubygems/test_gem_commands_check_command.rb @@ -4,10 +4,10 @@ # File a patch instead and assign it to Ryan Davis or Eric Hodel. ###################################################################### -require "test/rubygems/gemutilities" +require 'rubygems/test_case' require 'rubygems/commands/check_command' -class TestGemCommandsCheckCommand < RubyGemTestCase +class TestGemCommandsCheckCommand < Gem::TestCase def setup super diff --git a/test/rubygems/test_gem_commands_contents_command.rb b/test/rubygems/test_gem_commands_contents_command.rb index e865e29af0..6b9750e861 100644 --- a/test/rubygems/test_gem_commands_contents_command.rb +++ b/test/rubygems/test_gem_commands_contents_command.rb @@ -4,10 +4,10 @@ # File a patch instead and assign it to Ryan Davis or Eric Hodel. ###################################################################### -require "test/rubygems/gemutilities" +require 'rubygems/test_case' require 'rubygems/commands/contents_command' -class TestGemCommandsContentsCommand < RubyGemTestCase +class TestGemCommandsContentsCommand < Gem::TestCase def setup super @@ -54,7 +54,7 @@ class TestGemCommandsContentsCommand < RubyGemTestCase def test_execute_bad_gem @cmd.options[:args] = %w[foo] - assert_raises MockGemUi::TermError do + assert_raises Gem::MockGemUi::TermError do use_ui @ui do @cmd.execute end diff --git a/test/rubygems/test_gem_commands_dependency_command.rb b/test/rubygems/test_gem_commands_dependency_command.rb index 2f044dce16..40d96f729a 100644 --- a/test/rubygems/test_gem_commands_dependency_command.rb +++ b/test/rubygems/test_gem_commands_dependency_command.rb @@ -4,10 +4,10 @@ # File a patch instead and assign it to Ryan Davis or Eric Hodel. ###################################################################### -require "test/rubygems/gemutilities" +require 'rubygems/test_case' require 'rubygems/commands/dependency_command' -class TestGemCommandsDependencyCommand < RubyGemTestCase +class TestGemCommandsDependencyCommand < Gem::TestCase def setup super @@ -72,7 +72,7 @@ Gem pl-1-x86-linux def test_execute_no_match @cmd.options[:args] = %w[foo] - assert_raises MockGemUi::TermError do + assert_raises Gem::MockGemUi::TermError do use_ui @ui do @cmd.execute end @@ -161,7 +161,7 @@ Gem foo-2 @cmd.options[:reverse_dependencies] = true @cmd.options[:domain] = :remote - assert_raises MockGemUi::TermError do + assert_raises Gem::MockGemUi::TermError do use_ui @ui do @cmd.execute end diff --git a/test/rubygems/test_gem_commands_environment_command.rb b/test/rubygems/test_gem_commands_environment_command.rb index 809e05327b..504a12239d 100644 --- a/test/rubygems/test_gem_commands_environment_command.rb +++ b/test/rubygems/test_gem_commands_environment_command.rb @@ -4,10 +4,10 @@ # File a patch instead and assign it to Ryan Davis or Eric Hodel. ###################################################################### -require "test/rubygems/gemutilities" +require 'rubygems/test_case' require 'rubygems/commands/environment_command' -class TestGemCommandsEnvironmentCommand < RubyGemTestCase +class TestGemCommandsEnvironmentCommand < Gem::TestCase def setup super diff --git a/test/rubygems/test_gem_commands_fetch_command.rb b/test/rubygems/test_gem_commands_fetch_command.rb index 9a995a0e8e..657e8e9f80 100644 --- a/test/rubygems/test_gem_commands_fetch_command.rb +++ b/test/rubygems/test_gem_commands_fetch_command.rb @@ -4,12 +4,12 @@ # File a patch instead and assign it to Ryan Davis or Eric Hodel. ###################################################################### -require "test/rubygems/gemutilities" +require 'rubygems/test_case' require 'rubygems/package' require 'rubygems/security' require 'rubygems/commands/fetch_command' -class TestGemCommandsFetchCommand < RubyGemTestCase +class TestGemCommandsFetchCommand < Gem::TestCase def setup super diff --git a/test/rubygems/test_gem_commands_generate_index_command.rb b/test/rubygems/test_gem_commands_generate_index_command.rb index 21320bd721..b9eb139f6c 100644 --- a/test/rubygems/test_gem_commands_generate_index_command.rb +++ b/test/rubygems/test_gem_commands_generate_index_command.rb @@ -4,11 +4,11 @@ # File a patch instead and assign it to Ryan Davis or Eric Hodel. ###################################################################### -require "test/rubygems/gemutilities" +require 'rubygems/test_case' require 'rubygems/indexer' require 'rubygems/commands/generate_index_command' -class TestGemCommandsGenerateIndexCommand < RubyGemTestCase +class TestGemCommandsGenerateIndexCommand < Gem::TestCase def setup super @@ -35,7 +35,7 @@ class TestGemCommandsGenerateIndexCommand < RubyGemTestCase @cmd.options[:rss_gems_host] = 'gems.example.com' use_ui @ui do - assert_raises MockGemUi::TermError do + assert_raises Gem::MockGemUi::TermError do @cmd.execute end end diff --git a/test/rubygems/test_gem_commands_install_command.rb b/test/rubygems/test_gem_commands_install_command.rb index 91e5a9ea0e..a3ceb81ab7 100644 --- a/test/rubygems/test_gem_commands_install_command.rb +++ b/test/rubygems/test_gem_commands_install_command.rb @@ -4,10 +4,10 @@ # File a patch instead and assign it to Ryan Davis or Eric Hodel. ###################################################################### -require "test/rubygems/gemutilities" +require 'rubygems/test_case' require 'rubygems/commands/install_command' -class TestGemCommandsInstallCommand < RubyGemTestCase +class TestGemCommandsInstallCommand < Gem::TestCase def setup super diff --git a/test/rubygems/test_gem_commands_list_command.rb b/test/rubygems/test_gem_commands_list_command.rb index d4cfadda49..9a56ebc779 100644 --- a/test/rubygems/test_gem_commands_list_command.rb +++ b/test/rubygems/test_gem_commands_list_command.rb @@ -4,10 +4,10 @@ # File a patch instead and assign it to Ryan Davis or Eric Hodel. ###################################################################### -require "test/rubygems/gemutilities" +require 'rubygems/test_case' require 'rubygems/commands/list_command' -class TestGemCommandsListCommand < RubyGemTestCase +class TestGemCommandsListCommand < Gem::TestCase def setup super diff --git a/test/rubygems/test_gem_commands_lock_command.rb b/test/rubygems/test_gem_commands_lock_command.rb index 7696bd8b0f..25b033af5d 100644 --- a/test/rubygems/test_gem_commands_lock_command.rb +++ b/test/rubygems/test_gem_commands_lock_command.rb @@ -4,10 +4,10 @@ # File a patch instead and assign it to Ryan Davis or Eric Hodel. ###################################################################### -require "test/rubygems/gemutilities" +require 'rubygems/test_case' require 'rubygems/commands/lock_command' -class TestGemCommandsLockCommand < RubyGemTestCase +class TestGemCommandsLockCommand < Gem::TestCase def setup super diff --git a/test/rubygems/test_gem_commands_outdated_command.rb b/test/rubygems/test_gem_commands_outdated_command.rb index 10862dedf7..6f99f33e99 100644 --- a/test/rubygems/test_gem_commands_outdated_command.rb +++ b/test/rubygems/test_gem_commands_outdated_command.rb @@ -4,10 +4,10 @@ # File a patch instead and assign it to Ryan Davis or Eric Hodel. ###################################################################### -require "test/rubygems/gemutilities" +require 'rubygems/test_case' require 'rubygems/commands/outdated_command' -class TestGemCommandsOutdatedCommand < RubyGemTestCase +class TestGemCommandsOutdatedCommand < Gem::TestCase def setup super diff --git a/test/rubygems/test_gem_commands_owner_command.rb b/test/rubygems/test_gem_commands_owner_command.rb index f95061f0eb..38e49ea79d 100644 --- a/test/rubygems/test_gem_commands_owner_command.rb +++ b/test/rubygems/test_gem_commands_owner_command.rb @@ -4,10 +4,10 @@ # File a patch instead and assign it to Ryan Davis or Eric Hodel. ###################################################################### -require "test/rubygems/gemutilities" +require 'rubygems/test_case' require 'rubygems/commands/owner_command' -class TestGemCommandsOwnerCommand < RubyGemTestCase +class TestGemCommandsOwnerCommand < Gem::TestCase def setup super @@ -44,7 +44,7 @@ EOF response = "You don't have permission to push to this gem" @fetcher.data["#{Gem.host}/api/v1/gems/freewill/owners.yaml"] = [response, 403, 'Forbidden'] - assert_raises MockGemUi::TermError do + assert_raises Gem::MockGemUi::TermError do use_ui @ui do @cmd.show_owners("freewill") end @@ -72,7 +72,7 @@ EOF response = "You don't have permission to push to this gem" @fetcher.data["#{Gem.host}/api/v1/gems/freewill/owners"] = [response, 403, 'Forbidden'] - assert_raises MockGemUi::TermError do + assert_raises Gem::MockGemUi::TermError do use_ui @ui do @cmd.add_owners("freewill", ["user-new1@example.com"]) end @@ -100,7 +100,7 @@ EOF response = "You don't have permission to push to this gem" @fetcher.data["#{Gem.host}/api/v1/gems/freewill/owners"] = [response, 403, 'Forbidden'] - assert_raises MockGemUi::TermError do + assert_raises Gem::MockGemUi::TermError do use_ui @ui do @cmd.remove_owners("freewill", ["user-remove1@example.com"]) end diff --git a/test/rubygems/test_gem_commands_pristine_command.rb b/test/rubygems/test_gem_commands_pristine_command.rb index 47df2e4a44..9cab574a1f 100644 --- a/test/rubygems/test_gem_commands_pristine_command.rb +++ b/test/rubygems/test_gem_commands_pristine_command.rb @@ -4,10 +4,10 @@ # File a patch instead and assign it to Ryan Davis or Eric Hodel. ###################################################################### -require "test/rubygems/gemutilities" +require 'rubygems/test_case' require 'rubygems/commands/pristine_command' -class TestGemCommandsPristineCommand < RubyGemTestCase +class TestGemCommandsPristineCommand < Gem::TestCase def setup super diff --git a/test/rubygems/test_gem_commands_push_command.rb b/test/rubygems/test_gem_commands_push_command.rb index 7d7d89166f..b95af2380b 100644 --- a/test/rubygems/test_gem_commands_push_command.rb +++ b/test/rubygems/test_gem_commands_push_command.rb @@ -4,10 +4,10 @@ # File a patch instead and assign it to Ryan Davis or Eric Hodel. ###################################################################### -require "test/rubygems/gemutilities" +require 'rubygems/test_case' require 'rubygems/commands/push_command' -class TestGemCommandsPushCommand < RubyGemTestCase +class TestGemCommandsPushCommand < Gem::TestCase def setup super @@ -74,7 +74,7 @@ class TestGemCommandsPushCommand < RubyGemTestCase response = "You don't have permission to push to this gem" @fetcher.data["#{Gem.host}/api/v1/gems"] = [response, 403, 'Forbidden'] - assert_raises MockGemUi::TermError do + assert_raises Gem::MockGemUi::TermError do use_ui @ui do @cmd.send_gem(@path) end diff --git a/test/rubygems/test_gem_commands_query_command.rb b/test/rubygems/test_gem_commands_query_command.rb index 1a4a3e0b75..91868b848b 100644 --- a/test/rubygems/test_gem_commands_query_command.rb +++ b/test/rubygems/test_gem_commands_query_command.rb @@ -4,10 +4,10 @@ # File a patch instead and assign it to Ryan Davis or Eric Hodel. ###################################################################### -require "test/rubygems/gemutilities" +require 'rubygems/test_case' require 'rubygems/commands/query_command' -class TestGemCommandsQueryCommand < RubyGemTestCase +class TestGemCommandsQueryCommand < Gem::TestCase def setup super diff --git a/test/rubygems/test_gem_commands_server_command.rb b/test/rubygems/test_gem_commands_server_command.rb index 8cdcb8b24b..e27cc94896 100644 --- a/test/rubygems/test_gem_commands_server_command.rb +++ b/test/rubygems/test_gem_commands_server_command.rb @@ -4,10 +4,10 @@ # File a patch instead and assign it to Ryan Davis or Eric Hodel. ###################################################################### -require "test/rubygems/gemutilities" +require 'rubygems/test_case' require 'rubygems/commands/server_command' -class TestGemCommandsServerCommand < RubyGemTestCase +class TestGemCommandsServerCommand < Gem::TestCase def setup super diff --git a/test/rubygems/test_gem_commands_sources_command.rb b/test/rubygems/test_gem_commands_sources_command.rb index b747d08795..40449bec22 100644 --- a/test/rubygems/test_gem_commands_sources_command.rb +++ b/test/rubygems/test_gem_commands_sources_command.rb @@ -4,10 +4,10 @@ # File a patch instead and assign it to Ryan Davis or Eric Hodel. ###################################################################### -require "test/rubygems/gemutilities" +require 'rubygems/test_case' require 'rubygems/commands/sources_command' -class TestGemCommandsSourcesCommand < RubyGemTestCase +class TestGemCommandsSourcesCommand < Gem::TestCase def setup super @@ -90,7 +90,7 @@ class TestGemCommandsSourcesCommand < RubyGemTestCase util_setup_spec_fetcher use_ui @ui do - assert_raises MockGemUi::TermError do + assert_raises Gem::MockGemUi::TermError do @cmd.execute end end @@ -110,7 +110,7 @@ Error fetching http://beta-gems.example.com: util_setup_spec_fetcher use_ui @ui do - assert_raises MockGemUi::TermError do + assert_raises Gem::MockGemUi::TermError do @cmd.execute end end diff --git a/test/rubygems/test_gem_commands_specification_command.rb b/test/rubygems/test_gem_commands_specification_command.rb index abdbd733a3..ca210059fd 100644 --- a/test/rubygems/test_gem_commands_specification_command.rb +++ b/test/rubygems/test_gem_commands_specification_command.rb @@ -4,10 +4,10 @@ # File a patch instead and assign it to Ryan Davis or Eric Hodel. ###################################################################### -require "test/rubygems/gemutilities" +require 'rubygems/test_case' require 'rubygems/commands/specification_command' -class TestGemCommandsSpecificationCommand < RubyGemTestCase +class TestGemCommandsSpecificationCommand < Gem::TestCase def setup super @@ -51,7 +51,7 @@ class TestGemCommandsSpecificationCommand < RubyGemTestCase def test_execute_bad_name @cmd.options[:args] = %w[foo] - assert_raises MockGemUi::TermError do + assert_raises Gem::MockGemUi::TermError do use_ui @ui do @cmd.execute end diff --git a/test/rubygems/test_gem_commands_stale_command.rb b/test/rubygems/test_gem_commands_stale_command.rb index 4f72d13e81..f3876d90db 100644 --- a/test/rubygems/test_gem_commands_stale_command.rb +++ b/test/rubygems/test_gem_commands_stale_command.rb @@ -4,10 +4,10 @@ # File a patch instead and assign it to Ryan Davis or Eric Hodel. ###################################################################### -require "test/rubygems/gemutilities" +require 'rubygems/test_case' require 'rubygems/commands/stale_command' -class TestGemCommandsStaleCommand < RubyGemTestCase +class TestGemCommandsStaleCommand < Gem::TestCase def setup super diff --git a/test/rubygems/test_gem_commands_uninstall_command.rb b/test/rubygems/test_gem_commands_uninstall_command.rb index cb995cd941..c5be3beb90 100644 --- a/test/rubygems/test_gem_commands_uninstall_command.rb +++ b/test/rubygems/test_gem_commands_uninstall_command.rb @@ -4,20 +4,16 @@ # File a patch instead and assign it to Ryan Davis or Eric Hodel. ###################################################################### -require "test/rubygems/gemutilities" -require "test/rubygems/gem_installer_test_case" +require 'rubygems/installer_test_case' require 'rubygems/commands/uninstall_command' -class TestGemCommandsUninstallCommand < GemInstallerTestCase +class TestGemCommandsUninstallCommand < Gem::InstallerTestCase def setup super - ui = MockGemUi.new - util_setup_gem ui - build_rake_in do - use_ui ui do + use_ui @ui do @installer.install end end @@ -28,15 +24,25 @@ class TestGemCommandsUninstallCommand < GemInstallerTestCase end def test_execute_removes_executable + ui = Gem::MockGemUi.new + util_setup_gem ui + + build_rake_in do + use_ui ui do + @installer.install + end + end + if win_platform? - assert_equal true, File.exist?(@executable) + assert File.exist?(@executable) else - assert_equal true, File.symlink?(@executable) + assert File.symlink?(@executable) end # Evil hack to prevent false removal success FileUtils.rm_f @executable - File.open(@executable, "wb+") {|f| f.puts "binary"} + + open(@executable, "wb+") {|f| f.puts "binary"} @cmd.options[:args] = Array(@spec.name) use_ui @ui do diff --git a/test/rubygems/test_gem_commands_unpack_command.rb b/test/rubygems/test_gem_commands_unpack_command.rb index f8585d1265..e8d7984c65 100644 --- a/test/rubygems/test_gem_commands_unpack_command.rb +++ b/test/rubygems/test_gem_commands_unpack_command.rb @@ -4,10 +4,10 @@ # File a patch instead and assign it to Ryan Davis or Eric Hodel. ###################################################################### -require "test/rubygems/gemutilities" +require 'rubygems/test_case' require 'rubygems/commands/unpack_command' -class TestGemCommandsUnpackCommand < RubyGemTestCase +class TestGemCommandsUnpackCommand < Gem::TestCase def setup super diff --git a/test/rubygems/test_gem_commands_update_command.rb b/test/rubygems/test_gem_commands_update_command.rb index 7da4607151..6c16713130 100644 --- a/test/rubygems/test_gem_commands_update_command.rb +++ b/test/rubygems/test_gem_commands_update_command.rb @@ -4,10 +4,10 @@ # File a patch instead and assign it to Ryan Davis or Eric Hodel. ###################################################################### -require "test/rubygems/gemutilities" +require 'rubygems/test_case' require 'rubygems/commands/update_command' -class TestGemCommandsUpdateCommand < RubyGemTestCase +class TestGemCommandsUpdateCommand < Gem::TestCase def setup super diff --git a/test/rubygems/test_gem_commands_which_command.rb b/test/rubygems/test_gem_commands_which_command.rb index 4a86067079..41cd7cd3f8 100644 --- a/test/rubygems/test_gem_commands_which_command.rb +++ b/test/rubygems/test_gem_commands_which_command.rb @@ -4,10 +4,10 @@ # File a patch instead and assign it to Ryan Davis or Eric Hodel. ###################################################################### -require "test/rubygems/gemutilities" +require 'rubygems/test_case' require 'rubygems/commands/which_command' -class TestGemCommandsWhichCommand < RubyGemTestCase +class TestGemCommandsWhichCommand < Gem::TestCase def setup super @@ -45,7 +45,7 @@ class TestGemCommandsWhichCommand < RubyGemTestCase @cmd.handle_options %w[missing] use_ui @ui do - assert_raises MockGemUi::TermError do + assert_raises Gem::MockGemUi::TermError do @cmd.execute end end diff --git a/test/rubygems/test_gem_config_file.rb b/test/rubygems/test_gem_config_file.rb index ad0d65038f..dc53d21933 100644 --- a/test/rubygems/test_gem_config_file.rb +++ b/test/rubygems/test_gem_config_file.rb @@ -4,10 +4,10 @@ # File a patch instead and assign it to Ryan Davis or Eric Hodel. ###################################################################### -require "test/rubygems/gemutilities" +require 'rubygems/test_case' require 'rubygems/config_file' -class TestGemConfigFile < RubyGemTestCase +class TestGemConfigFile < Gem::TestCase def setup super diff --git a/test/rubygems/test_gem_dependency.rb b/test/rubygems/test_gem_dependency.rb index 723364be41..51b746f555 100644 --- a/test/rubygems/test_gem_dependency.rb +++ b/test/rubygems/test_gem_dependency.rb @@ -4,10 +4,10 @@ # File a patch instead and assign it to Ryan Davis or Eric Hodel. ###################################################################### -require "test/rubygems/gemutilities" +require 'rubygems/test_case' require 'rubygems/dependency' -class TestGemDependency < RubyGemTestCase +class TestGemDependency < Gem::TestCase def test_initialize d = dep "pkg", "> 1.0" @@ -64,7 +64,7 @@ class TestGemDependency < RubyGemTestCase def test_equals_tilde d = dep "a", "0" - assert_match d, d, "matche self" + assert_match d, d, "match self" assert_match dep("a", ">= 0"), d, "match version exact" assert_match dep("a", ">= 0"), dep("a", "1"), "match version" assert_match dep(/a/, ">= 0"), d, "match simple regexp" diff --git a/test/rubygems/test_gem_dependency_installer.rb b/test/rubygems/test_gem_dependency_installer.rb index 80f6cd21fd..cdc0428e9f 100644 --- a/test/rubygems/test_gem_dependency_installer.rb +++ b/test/rubygems/test_gem_dependency_installer.rb @@ -4,10 +4,10 @@ # File a patch instead and assign it to Ryan Davis or Eric Hodel. ###################################################################### -require "test/rubygems/gemutilities" +require 'rubygems/test_case' require 'rubygems/dependency_installer' -class TestGemDependencyInstaller < RubyGemTestCase +class TestGemDependencyInstaller < Gem::TestCase def setup super diff --git a/test/rubygems/test_gem_dependency_list.rb b/test/rubygems/test_gem_dependency_list.rb index 394676b6ab..92966ace08 100644 --- a/test/rubygems/test_gem_dependency_list.rb +++ b/test/rubygems/test_gem_dependency_list.rb @@ -4,10 +4,10 @@ # File a patch instead and assign it to Ryan Davis or Eric Hodel. ###################################################################### -require "test/rubygems/gemutilities" +require 'rubygems/test_case' require 'rubygems/dependency_list' -class TestGemDependencyList < RubyGemTestCase +class TestGemDependencyList < Gem::TestCase def setup super @@ -110,7 +110,7 @@ class TestGemDependencyList < RubyGemTestCase 'deps of trimmed specs not included' end - def test_dependency_order_no_dependendencies + def test_dependency_order_no_dependencies @deplist.add @a1, @c2 order = @deplist.dependency_order diff --git a/test/rubygems/test_gem_doc_manager.rb b/test/rubygems/test_gem_doc_manager.rb index 7732df2608..be4c12bd5b 100644 --- a/test/rubygems/test_gem_doc_manager.rb +++ b/test/rubygems/test_gem_doc_manager.rb @@ -4,10 +4,10 @@ # File a patch instead and assign it to Ryan Davis or Eric Hodel. ###################################################################### -require "test/rubygems/gemutilities" +require 'rubygems/test_case' require 'rubygems/doc_manager' -class TestGemDocManager < RubyGemTestCase +class TestGemDocManager < Gem::TestCase def setup super diff --git a/test/rubygems/test_gem_ext_configure_builder.rb b/test/rubygems/test_gem_ext_configure_builder.rb index 2f2bac351d..b8063f8021 100644 --- a/test/rubygems/test_gem_ext_configure_builder.rb +++ b/test/rubygems/test_gem_ext_configure_builder.rb @@ -4,10 +4,10 @@ # File a patch instead and assign it to Ryan Davis or Eric Hodel. ###################################################################### -require "test/rubygems/gemutilities" +require 'rubygems/test_case' require 'rubygems/ext' -class TestGemExtConfigureBuilder < RubyGemTestCase +class TestGemExtConfigureBuilder < Gem::TestCase def setup super diff --git a/test/rubygems/test_gem_ext_ext_conf_builder.rb b/test/rubygems/test_gem_ext_ext_conf_builder.rb index 4b03858a2a..5caae8e973 100644 --- a/test/rubygems/test_gem_ext_ext_conf_builder.rb +++ b/test/rubygems/test_gem_ext_ext_conf_builder.rb @@ -4,10 +4,10 @@ # File a patch instead and assign it to Ryan Davis or Eric Hodel. ###################################################################### -require "test/rubygems/gemutilities" +require 'rubygems/test_case' require 'rubygems/ext' -class TestGemExtExtConfBuilder < RubyGemTestCase +class TestGemExtExtConfBuilder < Gem::TestCase def setup super diff --git a/test/rubygems/test_gem_ext_rake_builder.rb b/test/rubygems/test_gem_ext_rake_builder.rb index d2e7de4cda..db0648b2b4 100644 --- a/test/rubygems/test_gem_ext_rake_builder.rb +++ b/test/rubygems/test_gem_ext_rake_builder.rb @@ -4,10 +4,10 @@ # File a patch instead and assign it to Ryan Davis or Eric Hodel. ###################################################################### -require "test/rubygems/gemutilities" +require 'rubygems/test_case' require 'rubygems/ext' -class TestGemExtRakeBuilder < RubyGemTestCase +class TestGemExtRakeBuilder < Gem::TestCase def setup super diff --git a/test/rubygems/test_gem_format.rb b/test/rubygems/test_gem_format.rb index 0fa0bba4bf..cbf2bc7788 100644 --- a/test/rubygems/test_gem_format.rb +++ b/test/rubygems/test_gem_format.rb @@ -4,11 +4,11 @@ # File a patch instead and assign it to Ryan Davis or Eric Hodel. ###################################################################### -require "test/rubygems/gemutilities" +require 'rubygems/test_case' require "test/rubygems/simple_gem" require 'rubygems/format' -class TestGemFormat < RubyGemTestCase +class TestGemFormat < Gem::TestCase def setup super diff --git a/test/rubygems/test_gem_gem_path_searcher.rb b/test/rubygems/test_gem_gem_path_searcher.rb index c9f49681c7..cb4516eaca 100644 --- a/test/rubygems/test_gem_gem_path_searcher.rb +++ b/test/rubygems/test_gem_gem_path_searcher.rb @@ -4,7 +4,7 @@ # File a patch instead and assign it to Ryan Davis or Eric Hodel. ###################################################################### -require "test/rubygems/gemutilities" +require 'rubygems/test_case' require 'rubygems/gem_path_searcher' class Gem::GemPathSearcher @@ -12,7 +12,7 @@ class Gem::GemPathSearcher attr_accessor :lib_dirs end -class TestGemGemPathSearcher < RubyGemTestCase +class TestGemGemPathSearcher < Gem::TestCase def setup super diff --git a/test/rubygems/test_gem_gem_runner.rb b/test/rubygems/test_gem_gem_runner.rb index 78af8d9a4d..177c71507a 100644 --- a/test/rubygems/test_gem_gem_runner.rb +++ b/test/rubygems/test_gem_gem_runner.rb @@ -4,10 +4,10 @@ # File a patch instead and assign it to Ryan Davis or Eric Hodel. ###################################################################### -require "test/rubygems/gemutilities" +require 'rubygems/test_case' require 'rubygems/gem_runner' -class TestGemGemRunner < RubyGemTestCase +class TestGemGemRunner < Gem::TestCase def test_do_configuration Gem.clear_paths diff --git a/test/rubygems/test_gem_gemcutter_utilities.rb b/test/rubygems/test_gem_gemcutter_utilities.rb index c4d804bd43..79d1e6cdb8 100644 --- a/test/rubygems/test_gem_gemcutter_utilities.rb +++ b/test/rubygems/test_gem_gemcutter_utilities.rb @@ -4,11 +4,11 @@ # File a patch instead and assign it to Ryan Davis or Eric Hodel. ###################################################################### -require "test/rubygems/gemutilities" +require 'rubygems/test_case' require 'rubygems' require 'rubygems/gemcutter_utilities' -class TestGemGemcutterUtilities < RubyGemTestCase +class TestGemGemcutterUtilities < Gem::TestCase def setup super @@ -74,7 +74,7 @@ class TestGemGemcutterUtilities < RubyGemTestCase def test_sign_in_with_bad_credentials skip 'Always uses $stdin on windows' if Gem.win_platform? - assert_raises MockGemUi::TermError do + assert_raises Gem::MockGemUi::TermError do util_sign_in ['Access Denied.', 403, 'Forbidden'] end @@ -98,7 +98,7 @@ class TestGemGemcutterUtilities < RubyGemTestCase @fetcher.data["#{host}/api/v1/api_key"] = response Gem::RemoteFetcher.fetcher = @fetcher - @sign_in_ui = MockGemUi.new "#{email}\n#{password}\n" + @sign_in_ui = Gem::MockGemUi.new "#{email}\n#{password}\n" use_ui @sign_in_ui do @cmd.sign_in diff --git a/test/rubygems/test_gem_indexer.rb b/test/rubygems/test_gem_indexer.rb index ebfe9c8105..a7f49506a6 100644 --- a/test/rubygems/test_gem_indexer.rb +++ b/test/rubygems/test_gem_indexer.rb @@ -4,14 +4,14 @@ # File a patch instead and assign it to Ryan Davis or Eric Hodel. ###################################################################### -require "test/rubygems/gemutilities" +require 'rubygems/test_case' require 'rubygems/indexer' -unless ''.respond_to? :to_xs then +unless defined?(Builder::XChar) then warn "Gem::Indexer tests are being skipped. Install builder gem." if $VERBOSE end -class TestGemIndexer < RubyGemTestCase +class TestGemIndexer < Gem::TestCase def setup super @@ -558,5 +558,5 @@ eighty characters.</pre> refute File.exist?(file), "#{file} exists" end -end if ''.respond_to? :to_xs +end if defined?(Builder::XChar) diff --git a/test/rubygems/test_gem_install_update_options.rb b/test/rubygems/test_gem_install_update_options.rb index 9000c4f873..937774617f 100644 --- a/test/rubygems/test_gem_install_update_options.rb +++ b/test/rubygems/test_gem_install_update_options.rb @@ -4,11 +4,11 @@ # File a patch instead and assign it to Ryan Davis or Eric Hodel. ###################################################################### -require "test/rubygems/gem_installer_test_case" +require 'rubygems/installer_test_case' require 'rubygems/install_update_options' require 'rubygems/command' -class TestGemInstallUpdateOptions < GemInstallerTestCase +class TestGemInstallUpdateOptions < Gem::InstallerTestCase def setup super diff --git a/test/rubygems/test_gem_installer.rb b/test/rubygems/test_gem_installer.rb index c77de792f3..94fa4423bc 100644 --- a/test/rubygems/test_gem_installer.rb +++ b/test/rubygems/test_gem_installer.rb @@ -4,9 +4,9 @@ # File a patch instead and assign it to Ryan Davis or Eric Hodel. ###################################################################### -require "test/rubygems/gem_installer_test_case" +require 'rubygems/installer_test_case' -class TestGemInstaller < GemInstallerTestCase +class TestGemInstaller < Gem::InstallerTestCase def test_app_script_text util_make_exec '2', '' @@ -72,6 +72,7 @@ load Gem.bin_path('a', 'my_exec', version) end def test_build_extensions_unsupported + gem_make_out = File.join @gemhome, 'gems', @spec.full_name, 'gem_make.out' @spec.extensions << nil e = assert_raises Gem::Installer::ExtensionBuildError do @@ -80,15 +81,15 @@ load Gem.bin_path('a', 'my_exec', version) end end - assert_match(/^No builder for extension ''$/, e.message) + assert_match(/^\s*No builder for extension ''$/, e.message) assert_equal "Building native extensions. This could take a while...\n", @ui.output assert_equal '', @ui.error - assert_equal "No builder for extension ''\n", File.read('gem_make.out') + assert_equal "No builder for extension ''\n", File.read(gem_make_out) ensure - FileUtils.rm_f 'gem_make.out' + FileUtils.rm_f gem_make_out end def test_ensure_dependency diff --git a/test/rubygems/test_gem_local_remote_options.rb b/test/rubygems/test_gem_local_remote_options.rb index 7f122d29a6..8d7907268d 100644 --- a/test/rubygems/test_gem_local_remote_options.rb +++ b/test/rubygems/test_gem_local_remote_options.rb @@ -4,11 +4,11 @@ # File a patch instead and assign it to Ryan Davis or Eric Hodel. ###################################################################### -require "test/rubygems/gemutilities" +require 'rubygems/test_case' require 'rubygems/local_remote_options' require 'rubygems/command' -class TestGemLocalRemoteOptions < RubyGemTestCase +class TestGemLocalRemoteOptions < Gem::TestCase def setup super diff --git a/test/rubygems/test_gem_package_tar_header.rb b/test/rubygems/test_gem_package_tar_header.rb index 2f499a3e0d..20d2204ad7 100644 --- a/test/rubygems/test_gem_package_tar_header.rb +++ b/test/rubygems/test_gem_package_tar_header.rb @@ -4,10 +4,10 @@ # File a patch instead and assign it to Ryan Davis or Eric Hodel. ###################################################################### -require "test/rubygems/gem_package_tar_test_case" +require 'rubygems/package/tar_test_case' require 'rubygems/package' -class TestGemPackageTarHeader < TarTestCase +class TestGemPackageTarHeader < Gem::Package::TarTestCase def setup super diff --git a/test/rubygems/test_gem_package_tar_input.rb b/test/rubygems/test_gem_package_tar_input.rb index 377c4e452f..0d3de45ba4 100644 --- a/test/rubygems/test_gem_package_tar_input.rb +++ b/test/rubygems/test_gem_package_tar_input.rb @@ -4,10 +4,10 @@ # File a patch instead and assign it to Ryan Davis or Eric Hodel. ###################################################################### -require "test/rubygems/gem_package_tar_test_case" +require 'rubygems/package/tar_test_case' require 'rubygems/package/tar_input' -class TestGemPackageTarInput < TarTestCase +class TestGemPackageTarInput < Gem::Package::TarTestCase # Sometimes the setgid bit doesn't take. Don't know if this is a problem on # all systems, or just some. But for now, we will ignore it in the tests. diff --git a/test/rubygems/test_gem_package_tar_output.rb b/test/rubygems/test_gem_package_tar_output.rb index 090f09284a..7458a749dd 100644 --- a/test/rubygems/test_gem_package_tar_output.rb +++ b/test/rubygems/test_gem_package_tar_output.rb @@ -4,10 +4,10 @@ # File a patch instead and assign it to Ryan Davis or Eric Hodel. ###################################################################### -require "test/rubygems/gem_package_tar_test_case" +require 'rubygems/package/tar_test_case' require 'rubygems/package/tar_output' -class TestGemPackageTarOutput < TarTestCase +class TestGemPackageTarOutput < Gem::Package::TarTestCase def setup super diff --git a/test/rubygems/test_gem_package_tar_reader.rb b/test/rubygems/test_gem_package_tar_reader.rb index a57f5355fa..657db9b367 100644 --- a/test/rubygems/test_gem_package_tar_reader.rb +++ b/test/rubygems/test_gem_package_tar_reader.rb @@ -4,10 +4,10 @@ # File a patch instead and assign it to Ryan Davis or Eric Hodel. ###################################################################### -require "test/rubygems/gem_package_tar_test_case" +require 'rubygems/package/tar_test_case' require 'rubygems/package' -class TestGemPackageTarReader < TarTestCase +class TestGemPackageTarReader < Gem::Package::TarTestCase def test_each_entry tar = tar_dir_header "foo", "bar", 0 diff --git a/test/rubygems/test_gem_package_tar_reader_entry.rb b/test/rubygems/test_gem_package_tar_reader_entry.rb index 1b39b2fd2d..a6d06cf00e 100644 --- a/test/rubygems/test_gem_package_tar_reader_entry.rb +++ b/test/rubygems/test_gem_package_tar_reader_entry.rb @@ -4,10 +4,10 @@ # File a patch instead and assign it to Ryan Davis or Eric Hodel. ###################################################################### -require "test/rubygems/gem_package_tar_test_case" +require 'rubygems/package/tar_test_case' require 'rubygems/package' -class TestGemPackageTarReaderEntry < TarTestCase +class TestGemPackageTarReaderEntry < Gem::Package::TarTestCase def setup super diff --git a/test/rubygems/test_gem_package_tar_writer.rb b/test/rubygems/test_gem_package_tar_writer.rb index 8a4c951286..ab9e5dd47d 100644 --- a/test/rubygems/test_gem_package_tar_writer.rb +++ b/test/rubygems/test_gem_package_tar_writer.rb @@ -4,10 +4,10 @@ # File a patch instead and assign it to Ryan Davis or Eric Hodel. ###################################################################### -require "test/rubygems/gem_package_tar_test_case" +require 'rubygems/package/tar_test_case' require 'rubygems/package/tar_writer' -class TestTarWriter < TarTestCase +class TestTarWriter < Gem::Package::TarTestCase def setup super diff --git a/test/rubygems/test_gem_package_task.rb b/test/rubygems/test_gem_package_task.rb index 11ed69e02b..d13c554360 100644 --- a/test/rubygems/test_gem_package_task.rb +++ b/test/rubygems/test_gem_package_task.rb @@ -4,11 +4,11 @@ # File a patch instead and assign it to Ryan Davis or Eric Hodel. ###################################################################### -require "test/rubygems/gemutilities" +require 'rubygems/test_case' require 'rubygems' require 'rubygems/package_task' -class TestGemPackageTask < RubyGemTestCase +class TestGemPackageTask < Gem::TestCase def test_gem_package gem = Gem::Specification.new do |g| diff --git a/test/rubygems/test_gem_platform.rb b/test/rubygems/test_gem_platform.rb index ac8a65bf7a..666669b233 100644 --- a/test/rubygems/test_gem_platform.rb +++ b/test/rubygems/test_gem_platform.rb @@ -4,11 +4,11 @@ # File a patch instead and assign it to Ryan Davis or Eric Hodel. ###################################################################### -require "test/rubygems/gemutilities" +require 'rubygems/test_case' require 'rubygems/platform' require 'rbconfig' -class TestGemPlatform < RubyGemTestCase +class TestGemPlatform < Gem::TestCase def test_self_local util_set_arch 'i686-darwin8.10.1' diff --git a/test/rubygems/test_gem_remote_fetcher.rb b/test/rubygems/test_gem_remote_fetcher.rb index fbeb19c239..135b2c7e53 100644 --- a/test/rubygems/test_gem_remote_fetcher.rb +++ b/test/rubygems/test_gem_remote_fetcher.rb @@ -4,7 +4,7 @@ # File a patch instead and assign it to Ryan Davis or Eric Hodel. ###################################################################### -require "test/rubygems/gemutilities" +require 'rubygems/test_case' require 'ostruct' require 'webrick' require 'rubygems/remote_fetcher' @@ -24,7 +24,7 @@ require 'rubygems/format' # software doesn't really care, as long as we hit the proxy URL when a # proxy is configured. -class TestGemRemoteFetcher < RubyGemTestCase +class TestGemRemoteFetcher < Gem::TestCase include Gem::DefaultUserInteraction @@ -617,7 +617,7 @@ gems: assert_equal '', response.body end - def test_request_unmodifed + def test_request_unmodified uri = URI.parse "#{@gem_repo}/specs.#{Gem.marshal_version}" conn = util_stub_connection_for :body => '', :code => 304 diff --git a/test/rubygems/test_gem_requirement.rb b/test/rubygems/test_gem_requirement.rb index 03f3ddd5e7..df478190b5 100644 --- a/test/rubygems/test_gem_requirement.rb +++ b/test/rubygems/test_gem_requirement.rb @@ -4,10 +4,10 @@ # File a patch instead and assign it to Ryan Davis or Eric Hodel. ###################################################################### -require "test/rubygems/gemutilities" +require 'rubygems/test_case' require "rubygems/requirement" -class TestGemRequirement < RubyGemTestCase +class TestGemRequirement < Gem::TestCase def test_equals2 r = req "= 1.2" diff --git a/test/rubygems/test_gem_security.rb b/test/rubygems/test_gem_security.rb index 38128e6992..c289edfa09 100644 --- a/test/rubygems/test_gem_security.rb +++ b/test/rubygems/test_gem_security.rb @@ -4,10 +4,10 @@ # File a patch instead and assign it to Ryan Davis or Eric Hodel. ###################################################################### -require "test/rubygems/gemutilities" +require 'rubygems/test_case' require 'rubygems/security' -class TestGemSecurity < RubyGemTestCase +class TestGemSecurity < Gem::TestCase def test_class_build_cert name = OpenSSL::X509::Name.parse "CN=nobody/DC=example" diff --git a/test/rubygems/test_gem_server.rb b/test/rubygems/test_gem_server.rb index f7ba61a4b5..3fad8c486e 100644 --- a/test/rubygems/test_gem_server.rb +++ b/test/rubygems/test_gem_server.rb @@ -4,7 +4,7 @@ # File a patch instead and assign it to Ryan Davis or Eric Hodel. ###################################################################### -require "test/rubygems/gemutilities" +require 'rubygems/test_case' require 'rubygems/server' require 'stringio' @@ -13,7 +13,7 @@ class Gem::Server attr_reader :server end -class TestGemServer < RubyGemTestCase +class TestGemServer < Gem::TestCase def setup super diff --git a/test/rubygems/test_gem_source_index.rb b/test/rubygems/test_gem_source_index.rb index 95ea94451d..9846c9cc89 100644 --- a/test/rubygems/test_gem_source_index.rb +++ b/test/rubygems/test_gem_source_index.rb @@ -4,11 +4,11 @@ # File a patch instead and assign it to Ryan Davis or Eric Hodel. ###################################################################### -require "test/rubygems/gemutilities" +require 'rubygems/test_case' require 'rubygems/source_index' require 'rubygems/config_file' -class TestGemSourceIndex < RubyGemTestCase +class TestGemSourceIndex < Gem::TestCase def setup super diff --git a/test/rubygems/test_gem_spec_fetcher.rb b/test/rubygems/test_gem_spec_fetcher.rb index 517247b98f..6e3891b866 100644 --- a/test/rubygems/test_gem_spec_fetcher.rb +++ b/test/rubygems/test_gem_spec_fetcher.rb @@ -4,10 +4,10 @@ # File a patch instead and assign it to Ryan Davis or Eric Hodel. ###################################################################### -require "test/rubygems/gemutilities" +require 'rubygems/test_case' require 'rubygems/spec_fetcher' -class TestGemSpecFetcher < RubyGemTestCase +class TestGemSpecFetcher < Gem::TestCase def setup super diff --git a/test/rubygems/test_gem_specification.rb b/test/rubygems/test_gem_specification.rb index 573610b52d..49862fe4bb 100644 --- a/test/rubygems/test_gem_specification.rb +++ b/test/rubygems/test_gem_specification.rb @@ -4,11 +4,11 @@ # File a patch instead and assign it to Ryan Davis or Eric Hodel. ###################################################################### -require "test/rubygems/gemutilities" +require 'rubygems/test_case' require 'stringio' require 'rubygems/specification' -class TestGemSpecification < RubyGemTestCase +class TestGemSpecification < Gem::TestCase LEGACY_YAML_SPEC = <<-EOF --- !ruby/object:Gem::Specification @@ -997,7 +997,7 @@ end assert_equal "WARNING: no description specified\n", @ui.error, 'error' - @ui = MockGemUi.new + @ui = Gem::MockGemUi.new @a1.summary = 'this is my summary' @a1.description = @a1.summary @@ -1133,7 +1133,7 @@ end assert_equal "WARNING: no homepage specified\n", @ui.error, 'error' - @ui = MockGemUi.new + @ui = Gem::MockGemUi.new @a1.homepage = '' diff --git a/test/rubygems/test_gem_stream_ui.rb b/test/rubygems/test_gem_stream_ui.rb index 60bd3032a8..1bc0e0bbd5 100644 --- a/test/rubygems/test_gem_stream_ui.rb +++ b/test/rubygems/test_gem_stream_ui.rb @@ -4,11 +4,11 @@ # File a patch instead and assign it to Ryan Davis or Eric Hodel. ###################################################################### -require "test/rubygems/gemutilities" +require 'rubygems/test_case' require 'rubygems/user_interaction' require 'timeout' -class TestGemStreamUI < RubyGemTestCase +class TestGemStreamUI < Gem::TestCase module IsTty attr_accessor :tty @@ -199,6 +199,24 @@ class TestGemStreamUI < RubyGemTestCase assert_equal "Fetching: a.gem\rFetching: a.gem ( 50%)\rFetching: a.gem (100%)\n", @out.string end + def test_verbose_download_reporter_progress_nil_length + @cfg.verbose = true + reporter = @sui.download_reporter + reporter.fetch 'a.gem', nil + reporter.update 1024 + reporter.done + assert_equal "Fetching: a.gem\rFetching: a.gem (1024B)\rFetching: a.gem (1024B)\n", @out.string + end + + def test_verbose_download_reporter_progress_zero_length + @cfg.verbose = true + reporter = @sui.download_reporter + reporter.fetch 'a.gem', 0 + reporter.update 1024 + reporter.done + assert_equal "Fetching: a.gem\rFetching: a.gem (1024B)\rFetching: a.gem (1024B)\n", @out.string + end + def test_verbose_download_reporter_no_tty @out.tty = false diff --git a/test/rubygems/test_gem_text.rb b/test/rubygems/test_gem_text.rb index b800c5f58c..775f1e9d12 100644 --- a/test/rubygems/test_gem_text.rb +++ b/test/rubygems/test_gem_text.rb @@ -4,10 +4,10 @@ # File a patch instead and assign it to Ryan Davis or Eric Hodel. ###################################################################### -require "test/rubygems/gemutilities" +require 'rubygems/test_case' require "rubygems/text" -class TestGemText < RubyGemTestCase +class TestGemText < Gem::TestCase include Gem::Text def test_format_text diff --git a/test/rubygems/test_gem_uninstaller.rb b/test/rubygems/test_gem_uninstaller.rb index 9d42d9bcde..3925ab1a63 100644 --- a/test/rubygems/test_gem_uninstaller.rb +++ b/test/rubygems/test_gem_uninstaller.rb @@ -4,31 +4,28 @@ # File a patch instead and assign it to Ryan Davis or Eric Hodel. ###################################################################### -require "test/rubygems/gem_installer_test_case" +require 'rubygems/installer_test_case' require 'rubygems/uninstaller' -class TestGemUninstaller < GemInstallerTestCase +class TestGemUninstaller < Gem::InstallerTestCase def setup super - ui = MockGemUi.new - util_setup_gem ui - @user_spec.executables = ["my_exec"] # HACK util_make_exec user_bin_dir = File.join Gem.user_dir, 'gems', @user_spec.full_name, 'bin' FileUtils.mkdir_p user_bin_dir exec_path = File.join user_bin_dir, "my_exec" - File.open exec_path, 'w' do |f| + open exec_path, 'w' do |f| f.puts "#!/usr/bin/ruby" end user_bin_dir = File.join Gem.user_dir, 'bin' FileUtils.mkdir_p user_bin_dir exec_path = File.join user_bin_dir, "my_exec" - File.open exec_path, 'w' do |f| + open exec_path, 'w' do |f| f.puts "#!/usr/bin/ruby" end @@ -50,11 +47,14 @@ class TestGemUninstaller < GemInstallerTestCase def test_remove_executables_force_keep uninstaller = Gem::Uninstaller.new nil, :executables => false + executable = File.join Gem.user_dir, 'bin', 'my_exec' + assert File.exist? executable + use_ui @ui do - uninstaller.remove_executables @spec + uninstaller.remove_executables @user_spec end - assert_equal true, File.exist?(File.join(@gemhome, 'bin', 'executable')) + assert File.exist? executable assert_equal "Executables and scripts will remain installed.\n", @ui.output end @@ -62,13 +62,16 @@ class TestGemUninstaller < GemInstallerTestCase def test_remove_executables_force_remove uninstaller = Gem::Uninstaller.new nil, :executables => true + executable = File.join Gem.user_dir, 'bin', 'my_exec' + assert File.exist? executable + use_ui @ui do - uninstaller.remove_executables @spec + uninstaller.remove_executables @user_spec end - assert_equal "Removing executable\n", @ui.output + assert_equal "Removing my_exec\n", @ui.output - assert_equal false, File.exist?(File.join(@gemhome, 'bin', 'executable')) + refute File.exist? executable end def test_remove_executables_user diff --git a/test/rubygems/test_gem_validator.rb b/test/rubygems/test_gem_validator.rb index c7f23dcae8..aa4bd38eb6 100644 --- a/test/rubygems/test_gem_validator.rb +++ b/test/rubygems/test_gem_validator.rb @@ -4,11 +4,11 @@ # File a patch instead and assign it to Ryan Davis or Eric Hodel. ###################################################################### -require "test/rubygems/gemutilities" +require 'rubygems/test_case' require "test/rubygems/simple_gem" require 'rubygems/validator' -class TestGemValidator < RubyGemTestCase +class TestGemValidator < Gem::TestCase def setup super diff --git a/test/rubygems/test_gem_version.rb b/test/rubygems/test_gem_version.rb index a3fbe24f15..d6a15ec459 100644 --- a/test/rubygems/test_gem_version.rb +++ b/test/rubygems/test_gem_version.rb @@ -4,10 +4,10 @@ # File a patch instead and assign it to Ryan Davis or Eric Hodel. ###################################################################### -require "test/rubygems/gemutilities" +require 'rubygems/test_case' require "rubygems/version" -class TestGemVersion < RubyGemTestCase +class TestGemVersion < Gem::TestCase def test_bump assert_bumped_version_equal "5.3", "5.2.4" diff --git a/test/rubygems/test_gem_version_option.rb b/test/rubygems/test_gem_version_option.rb index a0b4eac380..bcb594e8dd 100644 --- a/test/rubygems/test_gem_version_option.rb +++ b/test/rubygems/test_gem_version_option.rb @@ -4,11 +4,11 @@ # File a patch instead and assign it to Ryan Davis or Eric Hodel. ###################################################################### -require "test/rubygems/gemutilities" +require 'rubygems/test_case' require 'rubygems/command' require 'rubygems/version_option' -class TestGemVersionOption < RubyGemTestCase +class TestGemVersionOption < Gem::TestCase def setup super diff --git a/test/rubygems/test_kernel.rb b/test/rubygems/test_kernel.rb index dcbb8770f8..98d27a6123 100644 --- a/test/rubygems/test_kernel.rb +++ b/test/rubygems/test_kernel.rb @@ -4,9 +4,9 @@ # File a patch instead and assign it to Ryan Davis or Eric Hodel. ###################################################################### -require "test/rubygems/gemutilities" +require 'rubygems/test_case' -class TestKernel < RubyGemTestCase +class TestKernel < Gem::TestCase def setup super @@ -27,7 +27,7 @@ class TestKernel < RubyGemTestCase assert $:.any? { |p| %r{a-1/lib} =~ p } end - def test_gem_redundent + def test_gem_redundant assert gem('a', '= 1'), "Should load" refute gem('a', '= 1'), "Should not load" assert_equal 1, $:.select { |p| %r{a-1/lib} =~ p }.size -- cgit v1.2.3