From b61d8b6045497a5b2185bf8cb61a381f179d3ecd Mon Sep 17 00:00:00 2001 From: drbrain Date: Sat, 25 Oct 2008 22:58:43 +0000 Subject: Update to RubyGems 1.3.1 r1909. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19941 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 6 +- gem_prelude.rb | 42 +++- lib/rubygems.rb | 36 ++- lib/rubygems/commands/check_command.rb | 3 +- lib/rubygems/commands/unpack_command.rb | 2 +- lib/rubygems/commands/update_command.rb | 9 +- lib/rubygems/config_file.rb | 5 +- lib/rubygems/custom_require.rb | 22 +- lib/rubygems/defaults.rb | 5 + lib/rubygems/installer.rb | 2 +- lib/rubygems/rubygems_version.rb | 2 +- lib/rubygems/source_index.rb | 3 +- lib/rubygems/validator.rb | 272 +++++++++++---------- test/rubygems/functional.rb | 8 +- test/rubygems/gem_installer_test_case.rb | 2 +- test/rubygems/gemutilities.rb | 16 +- test/rubygems/test_config.rb | 2 - test/rubygems/test_gem.rb | 8 +- test/rubygems/test_gem_builder.rb | 1 - test/rubygems/test_gem_command.rb | 5 +- test/rubygems/test_gem_command_manager.rb | 1 - test/rubygems/test_gem_commands_build_command.rb | 1 - test/rubygems/test_gem_commands_cert_command.rb | 1 - test/rubygems/test_gem_commands_check_command.rb | 1 - .../rubygems/test_gem_commands_contents_command.rb | 5 +- .../test_gem_commands_dependency_command.rb | 5 +- .../test_gem_commands_environment_command.rb | 3 +- test/rubygems/test_gem_commands_fetch_command.rb | 1 - .../test_gem_commands_generate_index_command.rb | 2 +- test/rubygems/test_gem_commands_install_command.rb | 5 +- test/rubygems/test_gem_commands_list_command.rb | 3 +- test/rubygems/test_gem_commands_lock_command.rb | 3 +- test/rubygems/test_gem_commands_mirror_command.rb | 1 - .../rubygems/test_gem_commands_outdated_command.rb | 1 - .../rubygems/test_gem_commands_pristine_command.rb | 3 +- test/rubygems/test_gem_commands_query_command.rb | 11 +- test/rubygems/test_gem_commands_server_command.rb | 1 - test/rubygems/test_gem_commands_sources_command.rb | 1 - .../test_gem_commands_specification_command.rb | 3 +- test/rubygems/test_gem_commands_stale_command.rb | 1 - .../test_gem_commands_uninstall_command.rb | 3 +- test/rubygems/test_gem_commands_unpack_command.rb | 1 - test/rubygems/test_gem_commands_update_command.rb | 1 - test/rubygems/test_gem_config_file.rb | 2 - test/rubygems/test_gem_dependency.rb | 27 +- test/rubygems/test_gem_dependency_installer.rb | 9 +- test/rubygems/test_gem_dependency_list.rb | 3 - test/rubygems/test_gem_digest.rb | 22 +- test/rubygems/test_gem_doc_manager.rb | 3 +- test/rubygems/test_gem_ext_configure_builder.rb | 3 +- test/rubygems/test_gem_ext_ext_conf_builder.rb | 5 +- test/rubygems/test_gem_ext_rake_builder.rb | 5 +- test/rubygems/test_gem_format.rb | 10 +- test/rubygems/test_gem_gem_path_searcher.rb | 1 - test/rubygems/test_gem_gem_runner.rb | 1 - test/rubygems/test_gem_indexer.rb | 5 +- test/rubygems/test_gem_install_update_options.rb | 3 +- test/rubygems/test_gem_installer.rb | 24 +- test/rubygems/test_gem_local_remote_options.rb | 3 +- test/rubygems/test_gem_package_tar_reader_entry.rb | 10 +- test/rubygems/test_gem_package_tar_writer.rb | 20 +- test/rubygems/test_gem_platform.rb | 25 +- test/rubygems/test_gem_remote_fetcher.rb | 30 ++- test/rubygems/test_gem_requirement.rb | 29 ++- test/rubygems/test_gem_server.rb | 1 - test/rubygems/test_gem_source_index.rb | 11 +- test/rubygems/test_gem_source_info_cache.rb | 12 +- test/rubygems/test_gem_source_info_cache_entry.rb | 3 +- test/rubygems/test_gem_spec_fetcher.rb | 1 - test/rubygems/test_gem_specification.rb | 23 +- test/rubygems/test_gem_stream_ui.rb | 1 - test/rubygems/test_gem_validator.rb | 9 +- test/rubygems/test_gem_version.rb | 19 +- test/rubygems/test_gem_version_option.rb | 1 - test/rubygems/test_kernel.rb | 4 +- 75 files changed, 427 insertions(+), 407 deletions(-) diff --git a/ChangeLog b/ChangeLog index 7624590906..c5243aae9d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,8 @@ -Sun Oct 26 07:35:56 2008 Ryan Davis +Sun Oct 26 07:57:35 2008 Eric Hodel + + * lib/rubygems*: Update to RubyGems 1.3.1 r1909. + +Sun Oct 26 07:35:56 2008 Ryan Davis * lib/minitest/unit.rb: Imported minitest 1.3.0 r4429. * test/minitest/*: ditto. diff --git a/gem_prelude.rb b/gem_prelude.rb index 28bbd8372f..b483a65b08 100644 --- a/gem_prelude.rb +++ b/gem_prelude.rb @@ -24,14 +24,6 @@ if defined?(Gem) then :ruby_install_name => RbConfig::CONFIG["ruby_install_name"] } - def self.default_dir - if defined? RUBY_FRAMEWORK_VERSION - return File.join(File.dirname(ConfigMap[:sitedir]), "Gems") - else - File.join(ConfigMap[:libdir], 'ruby', 'gems', ConfigMap[:ruby_version]) - end - end - def self.dir @gem_home ||= nil set_home(ENV['GEM_HOME'] || default_dir) unless @gem_home @@ -48,7 +40,22 @@ if defined?(Gem) then @gem_path end - # Set the Gem home directory (as reported by +dir+). + def self.post_install(&hook) + @post_install_hooks << hook + end + + def self.post_uninstall(&hook) + @post_uninstall_hooks << hook + end + + def self.pre_install(&hook) + @pre_install_hooks << hook + end + + def self.pre_uninstall(&hook) + @pre_uninstall_hooks << hook + end + def self.set_home(home) @gem_home = home ensure_gem_subdirectories(@gem_home) @@ -68,8 +75,25 @@ if defined?(Gem) then def self.ensure_gem_subdirectories(path) end + # Methods before this line will be removed when QuickLoader is replaced + # with the real RubyGems + GEM_PRELUDE_METHODS = Gem.methods(false) + require 'rubygems/defaults' + + begin + require 'rubygems/defaults/operating_system' + rescue LoadError + end + + if defined?(RUBY_ENGINE) then + begin + require 'rubygems/defaults/#{RUBY_ENGINE}' + rescue LoadError + end + end + module QuickLoader def self.load_full_rubygems_library diff --git a/lib/rubygems.rb b/lib/rubygems.rb index 40c6defb66..e85d97c003 100644 --- a/lib/rubygems.rb +++ b/lib/rubygems.rb @@ -43,12 +43,14 @@ module Kernel # # GEM_SKIP=libA:libB ruby -I../libA -I../libB ./mycode.rb - def gem(gem_name, *version_requirements) + def gem(gem_name, *version_requirements) # :doc: skip_list = (ENV['GEM_SKIP'] || "").split(/:/) raise Gem::LoadError, "skipping #{gem_name}" if skip_list.include? gem_name Gem.activate(gem_name, *version_requirements) end + private :gem + end ## @@ -104,10 +106,10 @@ module Gem @ruby = nil @sources = [] - @post_install_hooks = [] - @post_uninstall_hooks = [] - @pre_uninstall_hooks = [] - @pre_install_hooks = [] + @post_install_hooks ||= [] + @post_uninstall_hooks ||= [] + @pre_uninstall_hooks ||= [] + @pre_install_hooks ||= [] ## # Activates an installed gem matching +gem+. The gem must satisfy @@ -294,6 +296,7 @@ module Gem # A Zlib::Deflate.deflate wrapper def self.deflate(data) + require 'zlib' Zlib::Deflate.deflate data end @@ -302,7 +305,7 @@ module Gem def self.dir @gem_home ||= nil - set_home(ENV['GEM_HOME'] || default_dir) unless @gem_home + set_home(ENV['GEM_HOME'] || Gem.configuration.home || default_dir) unless @gem_home @gem_home end @@ -395,6 +398,8 @@ module Gem # Zlib::GzipReader wrapper that unzips +data+. def self.gunzip(data) + require 'stringio' + require 'zlib' data = StringIO.new data Zlib::GzipReader.new(data).read @@ -404,6 +409,8 @@ module Gem # Zlib::GzipWriter wrapper that zips +data+. def self.gzip(data) + require 'stringio' + require 'zlib' zipped = StringIO.new Zlib::GzipWriter.wrap zipped do |io| io.write data end @@ -415,6 +422,7 @@ module Gem # A Zlib::Inflate#inflate wrapper def self.inflate(data) + require 'zlib' Zlib::Inflate.inflate data end @@ -479,13 +487,13 @@ module Gem # The file name and line number of the caller of the caller of this method. def self.location_of_caller - file, lineno = caller[1].split(':') - lineno = lineno.to_i + caller[1] =~ /(.*?):(\d+)$/i + file = $1 + lineno = $2.to_i + [file, lineno] end - private_class_method :location_of_caller - ## # manage_gems is useless and deprecated. Don't call it anymore. @@ -709,9 +717,11 @@ module Gem @gem_path.uniq! @gem_path.each do |path| - if 0 == File.expand_path(path).index(Gem.user_home) and - Etc.getpwuid.uid != File::Stat.new(Gem.user_home).uid then - next # only create by matching user + if 0 == File.expand_path(path).index(Gem.user_home) + unless win_platform? then + # only create by matching user + next if Etc.getpwuid.uid != File::Stat.new(Gem.user_home).uid + end end ensure_gem_subdirectories path end diff --git a/lib/rubygems/commands/check_command.rb b/lib/rubygems/commands/check_command.rb index ca5e14b12d..17c2c8f9c7 100644 --- a/lib/rubygems/commands/check_command.rb +++ b/lib/rubygems/commands/check_command.rb @@ -31,7 +31,8 @@ class Gem::Commands::CheckCommand < Gem::Command def execute if options[:test] version = options[:version] || Gem::Requirement.default - gem_spec = Gem::SourceIndex.from_installed_gems.search(get_one_gem_name, version).first + dep = Gem::Dependency.new get_one_gem_name, version + gem_spec = Gem::SourceIndex.from_installed_gems.search(dep).first Gem::Validator.new.unit_test(gem_spec) end diff --git a/lib/rubygems/commands/unpack_command.rb b/lib/rubygems/commands/unpack_command.rb index ef9436ae34..ab2494b0da 100644 --- a/lib/rubygems/commands/unpack_command.rb +++ b/lib/rubygems/commands/unpack_command.rb @@ -43,7 +43,7 @@ class Gem::Commands::UnpackCommand < Gem::Command basename = File.basename(path).sub(/\.gem$/, '') target_dir = File.expand_path File.join(options[:target], basename) FileUtils.mkdir_p target_dir - Gem::Installer.new(path).unpack target_dir + Gem::Installer.new(path, :unpack => true).unpack target_dir say "Unpacked gem: '#{target_dir}'" else alert_error "Gem '#{gemname}' not installed." diff --git a/lib/rubygems/commands/update_command.rb b/lib/rubygems/commands/update_command.rb index 4490f385dc..28d3a5d382 100644 --- a/lib/rubygems/commands/update_command.rb +++ b/lib/rubygems/commands/update_command.rb @@ -54,11 +54,10 @@ class Gem::Commands::UpdateCommand < Gem::Command fail "No gem names are allowed with the --system option" end - spec = Gem::Specification.new - spec.name = 'rubygems-update' - spec.version = Gem::Version.new Gem::RubyGemsVersion - spec.version = Gem::Version.new '1.1.1' - hig['rubygems-update'] = spec + rubygems_update = Gem::Specification.new + rubygems_update.name = 'rubygems-update' + rubygems_update.version = Gem::Version.new Gem::RubyGemsVersion + hig['rubygems-update'] = rubygems_update options[:user_install] = false else diff --git a/lib/rubygems/config_file.rb b/lib/rubygems/config_file.rb index 0a35ca9417..276a5c151d 100644 --- a/lib/rubygems/config_file.rb +++ b/lib/rubygems/config_file.rb @@ -52,6 +52,8 @@ class Gem::ConfigFile # Where to look for gems attr_accessor :path + attr_accessor :home + # True if we print backtraces on errors. attr_writer :backtrace @@ -129,7 +131,8 @@ class Gem::ConfigFile Gem.sources = @hash[:sources] if @hash.key? :sources @verbose = @hash[:verbose] if @hash.key? :verbose @update_sources = @hash[:update_sources] if @hash.key? :update_sources - @path = @hash[:gempath] + @path = @hash[:gempath] if @hash.key? :gempath + @home = @hash[:gemhome] if @hash.key? :gemhome handle_arguments arg_list end diff --git a/lib/rubygems/custom_require.rb b/lib/rubygems/custom_require.rb index 90e6b53959..78c7872b6f 100755 --- a/lib/rubygems/custom_require.rb +++ b/lib/rubygems/custom_require.rb @@ -7,11 +7,15 @@ require 'rubygems' module Kernel - alias gem_original_require require # :nodoc: - # - # We replace Ruby's require with our own, which is capable of - # loading gems on demand. + ## + # The Kernel#require from before RubyGems was loaded. + + alias gem_original_require require + + ## + # When RubyGems is required, Kernel#require is replaced with our own which + # is capable of loading gems on demand. # # When you call require 'x', this is what happens: # * If the file can be loaded from the existing Ruby loadpath, it @@ -22,8 +26,8 @@ module Kernel # # The normal require functionality of returning false if # that file has already been loaded is preserved. - # - def require(path) # :nodoc: + + def require(path) # :doc: gem_original_require path rescue LoadError => load_error if load_error.message =~ /#{Regexp.escape path}\z/ and @@ -34,5 +38,9 @@ module Kernel raise load_error end end -end # module Kernel + + private :require + private :gem_original_require + +end diff --git a/lib/rubygems/defaults.rb b/lib/rubygems/defaults.rb index 7eba0cb049..c894bf41be 100644 --- a/lib/rubygems/defaults.rb +++ b/lib/rubygems/defaults.rb @@ -1,5 +1,10 @@ module Gem + @post_install_hooks ||= [] + @post_uninstall_hooks ||= [] + @pre_uninstall_hooks ||= [] + @pre_install_hooks ||= [] + ## # An Array of the default sources that come with RubyGems diff --git a/lib/rubygems/installer.rb b/lib/rubygems/installer.rb index d9006f9fc7..d719580a0a 100644 --- a/lib/rubygems/installer.rb +++ b/lib/rubygems/installer.rb @@ -137,7 +137,7 @@ class Gem::Installer options[:user_install] = true end - if options[:user_install] then + if options[:user_install] and not options[:unpack] then @gem_home = Gem.user_dir user_bin_dir = File.join(@gem_home, 'bin') diff --git a/lib/rubygems/rubygems_version.rb b/lib/rubygems/rubygems_version.rb index 06e2104715..d7b5622d97 100644 --- a/lib/rubygems/rubygems_version.rb +++ b/lib/rubygems/rubygems_version.rb @@ -2,5 +2,5 @@ # This file is auto-generated by build scripts. # See: rake update_version module Gem - RubyGemsVersion = '1.3.0' + RubyGemsVersion = '1.3.1' end diff --git a/lib/rubygems/source_index.rb b/lib/rubygems/source_index.rb index c6499ed2a8..8a8db2ef0d 100644 --- a/lib/rubygems/source_index.rb +++ b/lib/rubygems/source_index.rb @@ -257,8 +257,7 @@ class Gem::SourceIndex # TODO - Remove support and warning for legacy arguments after 2008/11 unless Gem::Dependency === gem_pattern - warn "Gem::SourceIndex#search support for #{gem_pattern.class} patterns is deprecated" - warn "#{caller[0]} is outdated" + warn "#{Gem.location_of_caller.join ':'}:Warning: Gem::SourceIndex#search support for #{gem_pattern.class} patterns is deprecated" end case gem_pattern diff --git a/lib/rubygems/validator.rb b/lib/rubygems/validator.rb index 8aaaa5a413..4595ad9a40 100755 --- a/lib/rubygems/validator.rb +++ b/lib/rubygems/validator.rb @@ -10,118 +10,130 @@ require 'rubygems/digest/md5' require 'rubygems/format' require 'rubygems/installer' -module Gem +## +# Validator performs various gem file and gem database validation + +class Gem::Validator + + include Gem::UserInteraction ## - # Validator performs various gem file and gem database validation - class Validator - include UserInteraction - - ## - # Given a gem file's contents, validates against its own MD5 checksum - # gem_data:: [String] Contents of the gem file - def verify_gem(gem_data) - raise VerificationError, 'empty gem file' if gem_data.size == 0 - - unless gem_data =~ /MD5SUM/ then - return # Don't worry about it...this sucks. Need to fix MD5 stuff for - # new format - # FIXME - end + # Given a gem file's contents, validates against its own MD5 checksum + # gem_data:: [String] Contents of the gem file - sum_data = gem_data.gsub(/MD5SUM = "([a-z0-9]+)"/, - "MD5SUM = \"#{"F" * 32}\"") + def verify_gem(gem_data) + raise Gem::VerificationError, 'empty gem file' if gem_data.size == 0 - unless Gem::MD5.hexdigest(sum_data) == $1.to_s then - raise VerificationError, 'invalid checksum for gem file' - end + unless gem_data =~ /MD5SUM/ then + return # Don't worry about it...this sucks. Need to fix MD5 stuff for + # new format + # FIXME end - ## - # Given the path to a gem file, validates against its own MD5 checksum - # - # gem_path:: [String] Path to gem file - def verify_gem_file(gem_path) - open gem_path, Gem.binary_mode do |file| - gem_data = file.read - verify_gem gem_data - end - rescue Errno::ENOENT - raise Gem::VerificationError.new("missing gem file #{gem_path}") + sum_data = gem_data.gsub(/MD5SUM = "([a-z0-9]+)"/, + "MD5SUM = \"#{"F" * 32}\"") + + unless Gem::MD5.hexdigest(sum_data) == $1.to_s then + raise Gem::VerificationError, 'invalid checksum for gem file' end + end - private - def find_files_for_gem(gem_directory) - installed_files = [] - Find.find(gem_directory) {|file_name| - fn = file_name.slice((gem_directory.size)..(file_name.size-1)).sub(/^\//, "") - if(!(fn =~ /CVS/ || File.directory?(fn) || fn == "")) then - installed_files << fn - end - - } - installed_files + ## + # Given the path to a gem file, validates against its own MD5 checksum + # + # gem_path:: [String] Path to gem file + + def verify_gem_file(gem_path) + open gem_path, Gem.binary_mode do |file| + gem_data = file.read + verify_gem gem_data end - - - public - ErrorData = Struct.new(:path, :problem) - - ## - # Checks the gem directory for the following potential - # inconsistencies/problems: - # * Checksum gem itself - # * For each file in each gem, check consistency of installed versions - # * Check for files that aren't part of the gem but are in the gems directory - # * 1 cache - 1 spec - 1 directory. - # - # returns a hash of ErrorData objects, keyed on the problem gem's name. - def alien - errors = {} - Gem::SourceIndex.from_installed_gems.each do |gem_name, gem_spec| - errors[gem_name] ||= [] - gem_path = File.join(Gem.dir, "cache", gem_spec.full_name) + ".gem" - spec_path = File.join(Gem.dir, "specifications", gem_spec.full_name) + ".gemspec" - gem_directory = File.join(Gem.dir, "gems", gem_spec.full_name) - installed_files = find_files_for_gem(gem_directory) - - if(!File.exist?(spec_path)) then - errors[gem_name] << ErrorData.new(spec_path, "Spec file doesn't exist for installed gem") - end - - begin - verify_gem_file(gem_path) - open gem_path, Gem.binary_mode do |file| - format = Gem::Format.from_file_by_path(gem_path) - format.file_entries.each do |entry, data| - # Found this file. Delete it from list - installed_files.delete remove_leading_dot_dir(entry['path']) - - next unless data # HACK `gem check -a mkrf` - - open File.join(gem_directory, entry['path']), Gem.binary_mode do |f| - unless Gem::MD5.hexdigest(f.read).to_s == - Gem::MD5.hexdigest(data).to_s then - errors[gem_name] << ErrorData.new(entry['path'], "installed file doesn't match original from gem") - end + rescue Errno::ENOENT + raise Gem::VerificationError, "missing gem file #{gem_path}" + end + + private + + def find_files_for_gem(gem_directory) + installed_files = [] + Find.find(gem_directory) {|file_name| + fn = file_name.slice((gem_directory.size)..(file_name.size-1)).sub(/^\//, "") + if(!(fn =~ /CVS/ || File.directory?(fn) || fn == "")) then + installed_files << fn + end + + } + installed_files + end + + public + + ErrorData = Struct.new :path, :problem + + ## + # Checks the gem directory for the following potential + # inconsistencies/problems: + # + # * Checksum gem itself + # * For each file in each gem, check consistency of installed versions + # * Check for files that aren't part of the gem but are in the gems directory + # * 1 cache - 1 spec - 1 directory. + # + # returns a hash of ErrorData objects, keyed on the problem gem's name. + + def alien + errors = {} + + Gem::SourceIndex.from_installed_gems.each do |gem_name, gem_spec| + errors[gem_name] ||= [] + + gem_path = File.join(Gem.dir, "cache", gem_spec.full_name) + ".gem" + spec_path = File.join(Gem.dir, "specifications", gem_spec.full_name) + ".gemspec" + gem_directory = File.join(Gem.dir, "gems", gem_spec.full_name) + + installed_files = find_files_for_gem(gem_directory) + + unless File.exist? spec_path then + errors[gem_name] << ErrorData.new(spec_path, "Spec file doesn't exist for installed gem") + end + + begin + verify_gem_file(gem_path) + + open gem_path, Gem.binary_mode do |file| + format = Gem::Format.from_file_by_path(gem_path) + format.file_entries.each do |entry, data| + # Found this file. Delete it from list + installed_files.delete remove_leading_dot_dir(entry['path']) + + next unless data # HACK `gem check -a mkrf` + + open File.join(gem_directory, entry['path']), Gem.binary_mode do |f| + unless Gem::MD5.hexdigest(f.read).to_s == + Gem::MD5.hexdigest(data).to_s then + errors[gem_name] << ErrorData.new(entry['path'], "installed file doesn't match original from gem") end end end - rescue VerificationError => e - errors[gem_name] << ErrorData.new(gem_path, e.message) - end - # Clean out directories that weren't explicitly included in the gemspec - # FIXME: This still allows arbitrary incorrect directories. - installed_files.delete_if {|potential_directory| - File.directory?(File.join(gem_directory, potential_directory)) - } - if(installed_files.size > 0) then - errors[gem_name] << ErrorData.new(gem_path, "Unmanaged files in gem: #{installed_files.inspect}") end + rescue Gem::VerificationError => e + errors[gem_name] << ErrorData.new(gem_path, e.message) + end + + # Clean out directories that weren't explicitly included in the gemspec + # FIXME: This still allows arbitrary incorrect directories. + installed_files.delete_if {|potential_directory| + File.directory?(File.join(gem_directory, potential_directory)) + } + if(installed_files.size > 0) then + errors[gem_name] << ErrorData.new(gem_path, "Unmanaged files in gem: #{installed_files.inspect}") end - errors end + errors + end + + if RUBY_VERSION < '1.9' then class TestRunner def initialize(suite, ui) @suite = suite @@ -147,40 +159,50 @@ module Gem end autoload :TestRunner, 'test/unit/ui/testrunnerutilities' - - ## - # Runs unit tests for a given gem specification - def unit_test(gem_spec) - start_dir = Dir.pwd - Dir.chdir(gem_spec.full_gem_path) - $: << File.join(Gem.dir, "gems", gem_spec.full_name) - # XXX: why do we need this gem_spec when we've already got 'spec'? - test_files = gem_spec.test_files - if test_files.empty? - say "There are no unit tests to run for #{gem_spec.full_name}" - require 'test/unit/ui/console/testrunner' - return Test::Unit::TestResult.new - end - gem gem_spec.name, "= #{gem_spec.version.version}" - test_files.each do |f| require f end + end + + ## + # Runs unit tests for a given gem specification + + def unit_test(gem_spec) + start_dir = Dir.pwd + Dir.chdir(gem_spec.full_gem_path) + $: << File.join(Gem.dir, "gems", gem_spec.full_name) + # XXX: why do we need this gem_spec when we've already got 'spec'? + test_files = gem_spec.test_files + + if test_files.empty? then + say "There are no unit tests to run for #{gem_spec.full_name}" + return nil + end + + gem gem_spec.name, "= #{gem_spec.version.version}" + + test_files.each do |f| require f end + + if RUBY_VERSION < '1.9' then suite = Test::Unit::TestSuite.new("#{gem_spec.name}-#{gem_spec.version}") + ObjectSpace.each_object(Class) do |klass| suite << klass.suite if (klass < Test::Unit::TestCase) end - result = TestRunner.run(suite, ui()) - unless result.passed? - alert_error(result.to_s) - #unless ask_yes_no(result.to_s + "...keep Gem?", true) then - #Gem::Uninstaller.new(gem_spec.name, gem_spec.version.version).uninstall - #end - end - result - ensure - Dir.chdir(start_dir) - end - def remove_leading_dot_dir(path) - path.sub(/^\.\//, "") + result = TestRunner.run suite, ui + + alert_error result.to_s unless result.passed? + else + result = MiniTest::Unit.new + result.run end + + result + ensure + Dir.chdir(start_dir) + end + + def remove_leading_dot_dir(path) + path.sub(/^\.\//, "") end + end + diff --git a/test/rubygems/functional.rb b/test/rubygems/functional.rb index 4838167324..98e7cf6661 100644 --- a/test/rubygems/functional.rb +++ b/test/rubygems/functional.rb @@ -5,13 +5,14 @@ # See LICENSE.txt for permissions. #++ -require 'test/unit' require 'rubygems' +require 'minitest/unit' require 'test/insure_session' require 'rubygems/format' require 'rubygems/command_manager' -class FunctionalTest < Test::Unit::TestCase +class FunctionalTest < MiniTest::Unit::TestCase + def setup @gem_path = File.expand_path("bin/gem") lib_path = File.expand_path("lib") @@ -93,3 +94,6 @@ class FunctionalTest < Test::Unit::TestCase end end + +MiniTest::Unit.autorun + diff --git a/test/rubygems/gem_installer_test_case.rb b/test/rubygems/gem_installer_test_case.rb index 0d684eb1eb..944ec71435 100644 --- a/test/rubygems/gem_installer_test_case.rb +++ b/test/rubygems/gem_installer_test_case.rb @@ -1,4 +1,4 @@ -require 'test/unit' +require 'minitest/unit' require File.join(File.expand_path(File.dirname(__FILE__)), 'gemutilities') require 'rubygems/installer' diff --git a/test/rubygems/gemutilities.rb b/test/rubygems/gemutilities.rb index fd4db68a26..3720da5d6a 100644 --- a/test/rubygems/gemutilities.rb +++ b/test/rubygems/gemutilities.rb @@ -1,4 +1,3 @@ -#!/usr/bin/env ruby #-- # Copyright 2006 by Chad Fowler, Rich Kilmer, Jim Weirich and others. # All rights reserved. @@ -9,8 +8,14 @@ at_exit { $SAFE = 1 } $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib')) +require 'rubygems' require 'fileutils' -require 'test/unit' +begin + require 'minitest/unit' +rescue LoadError + warn "Install minitest gem" + raise +end require 'tmpdir' require 'uri' require 'rubygems/package' @@ -36,7 +41,7 @@ module Gem end end -class RubyGemTestCase < Test::Unit::TestCase +class RubyGemTestCase < MiniTest::Unit::TestCase include Gem::DefaultUserInteraction @@ -430,8 +435,6 @@ class RubyGemTestCase < Test::Unit::TestCase Gem.module_eval {@ruby = ruby} env_rake = ENV["rake"] ENV["rake"] = @@rake - argv = ARGV.dup - ARGV.clear yield @@rake ensure Gem.module_eval {@ruby = gem_ruby} @@ -440,7 +443,6 @@ class RubyGemTestCase < Test::Unit::TestCase else ENV.delete("rake") end - ARGV.replace(argv) if argv end def self.rubybin @@ -482,3 +484,5 @@ class RubyGemTestCase < Test::Unit::TestCase end +MiniTest::Unit.autorun + diff --git a/test/rubygems/test_config.rb b/test/rubygems/test_config.rb index 0568996c4a..beaa2325dc 100644 --- a/test/rubygems/test_config.rb +++ b/test/rubygems/test_config.rb @@ -1,11 +1,9 @@ -#!/usr/bin/env ruby #-- # Copyright 2006 by Chad Fowler, Rich Kilmer, Jim Weirich and others. # All rights reserved. # See LICENSE.txt for permissions. #++ -require 'test/unit' require File.join(File.expand_path(File.dirname(__FILE__)), 'gemutilities') require 'rbconfig' require 'rubygems' diff --git a/test/rubygems/test_gem.rb b/test/rubygems/test_gem.rb index 6735f2f02a..16260f772d 100644 --- a/test/rubygems/test_gem.rb +++ b/test/rubygems/test_gem.rb @@ -65,8 +65,8 @@ class TestGem < RubyGemTestCase assert_equal nil, Gem.instance_variable_get(:@gem_home) assert_equal nil, Gem.instance_variable_get(:@gem_path) - assert_not_equal searcher, Gem.searcher - assert_not_equal source_index.object_id, Gem.source_index.object_id + refute_equal searcher, Gem.searcher + refute_equal source_index.object_id, Gem.source_index.object_id end def test_self_configuration @@ -214,10 +214,10 @@ class TestGem < RubyGemTestCase orig_Gem_ssl_available = Gem.ssl_available? Gem.ssl_available = true - assert_nothing_raised do Gem.ensure_ssl_available end + Gem.ensure_ssl_available Gem.ssl_available = false - e = assert_raise Gem::Exception do Gem.ensure_ssl_available end + e = assert_raises Gem::Exception do Gem.ensure_ssl_available end assert_equal 'SSL is not installed on this system', e.message ensure Gem.ssl_available = orig_Gem_ssl_available diff --git a/test/rubygems/test_gem_builder.rb b/test/rubygems/test_gem_builder.rb index 31a0d71880..acddeddad1 100644 --- a/test/rubygems/test_gem_builder.rb +++ b/test/rubygems/test_gem_builder.rb @@ -4,7 +4,6 @@ # See LICENSE.txt for permissions. #++ -require 'test/unit' require File.join(File.expand_path(File.dirname(__FILE__)), 'gemutilities') require 'rubygems/builder' diff --git a/test/rubygems/test_gem_command.rb b/test/rubygems/test_gem_command.rb index 9ed57b3692..08da9fb7d6 100644 --- a/test/rubygems/test_gem_command.rb +++ b/test/rubygems/test_gem_command.rb @@ -5,7 +5,6 @@ # See LICENSE.txt for permissions. #++ -require 'test/unit' require File.join(File.expand_path(File.dirname(__FILE__)), 'gemutilities') require 'rubygems/command' @@ -63,7 +62,7 @@ class TestGemCommand < RubyGemTestCase assert_match %r|-x, --zip|, @cmd.parser.to_s assert_match %r|-z, --exe|, @cmd.parser.to_s - assert_no_match %r|-x, --exe|, @cmd.parser.to_s + refute_match %r|-x, --exe|, @cmd.parser.to_s end def test_basic_accessors @@ -109,7 +108,7 @@ class TestGemCommand < RubyGemTestCase use_ui @ui do @cmd.when_invoked do true end - ex = assert_raise(OptionParser::InvalidOption) do + ex = assert_raises OptionParser::InvalidOption do @cmd.invoke('-zzz') end diff --git a/test/rubygems/test_gem_command_manager.rb b/test/rubygems/test_gem_command_manager.rb index ee58e89844..bcfe65b359 100644 --- a/test/rubygems/test_gem_command_manager.rb +++ b/test/rubygems/test_gem_command_manager.rb @@ -4,7 +4,6 @@ # See LICENSE.txt for permissions. #++ -require 'test/unit' require File.join(File.expand_path(File.dirname(__FILE__)), 'gemutilities') require 'rubygems/command_manager' diff --git a/test/rubygems/test_gem_commands_build_command.rb b/test/rubygems/test_gem_commands_build_command.rb index a49b6777bd..b9e02ce76e 100644 --- a/test/rubygems/test_gem_commands_build_command.rb +++ b/test/rubygems/test_gem_commands_build_command.rb @@ -1,4 +1,3 @@ -require 'test/unit' require File.join(File.expand_path(File.dirname(__FILE__)), 'gemutilities') require 'rubygems/commands/build_command' require 'rubygems/format' diff --git a/test/rubygems/test_gem_commands_cert_command.rb b/test/rubygems/test_gem_commands_cert_command.rb index 79e3e72158..749fe62198 100644 --- a/test/rubygems/test_gem_commands_cert_command.rb +++ b/test/rubygems/test_gem_commands_cert_command.rb @@ -1,4 +1,3 @@ -require 'test/unit' require File.join(File.expand_path(File.dirname(__FILE__)), 'gemutilities') require 'rubygems/commands/cert_command' diff --git a/test/rubygems/test_gem_commands_check_command.rb b/test/rubygems/test_gem_commands_check_command.rb index eea7cc5cfa..3199ac71ac 100644 --- a/test/rubygems/test_gem_commands_check_command.rb +++ b/test/rubygems/test_gem_commands_check_command.rb @@ -4,7 +4,6 @@ # See LICENSE.txt for permissions. #++ -require 'test/unit' require File.join(File.expand_path(File.dirname(__FILE__)), 'gemutilities') require 'rubygems/commands/check_command' diff --git a/test/rubygems/test_gem_commands_contents_command.rb b/test/rubygems/test_gem_commands_contents_command.rb index cdb89673da..b891094ed8 100644 --- a/test/rubygems/test_gem_commands_contents_command.rb +++ b/test/rubygems/test_gem_commands_contents_command.rb @@ -1,4 +1,3 @@ -require 'test/unit' require File.join(File.expand_path(File.dirname(__FILE__)), 'gemutilities') require 'rubygems/commands/contents_command' @@ -28,7 +27,7 @@ class TestGemCommandsContentsCommand < RubyGemTestCase def test_execute_bad_gem @cmd.options[:args] = %w[foo] - assert_raise MockGemUi::TermError do + assert_raises MockGemUi::TermError do use_ui @ui do @cmd.execute end @@ -71,7 +70,7 @@ class TestGemCommandsContentsCommand < RubyGemTestCase end assert_match %r|lib/foo\.rb|, @ui.output - assert_no_match %r|Rakefile|, @ui.output + refute_match %r|Rakefile|, @ui.output assert_equal "", @ui.error end diff --git a/test/rubygems/test_gem_commands_dependency_command.rb b/test/rubygems/test_gem_commands_dependency_command.rb index 0acf2a0ddb..ebf713c36e 100644 --- a/test/rubygems/test_gem_commands_dependency_command.rb +++ b/test/rubygems/test_gem_commands_dependency_command.rb @@ -1,4 +1,3 @@ -require 'test/unit' require File.join(File.expand_path(File.dirname(__FILE__)), 'gemutilities') require 'rubygems/commands/dependency_command' @@ -61,7 +60,7 @@ Gem pl-1-x86-linux def test_execute_no_match @cmd.options[:args] = %w[foo] - assert_raise MockGemUi::TermError do + assert_raises MockGemUi::TermError do use_ui @ui do @cmd.execute end @@ -146,7 +145,7 @@ Gem foo-2 @cmd.options[:reverse_dependencies] = true @cmd.options[:domain] = :remote - assert_raise MockGemUi::TermError do + assert_raises 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 78246b0301..7f80b3e1a3 100644 --- a/test/rubygems/test_gem_commands_environment_command.rb +++ b/test/rubygems/test_gem_commands_environment_command.rb @@ -1,4 +1,3 @@ -require 'test/unit' require File.join(File.expand_path(File.dirname(__FILE__)), 'gemutilities') require 'rubygems/commands/environment_command' @@ -109,7 +108,7 @@ class TestGemCommandsEnvironmentCommand < RubyGemTestCase def test_execute_unknown @cmd.send :handle_options, %w[unknown] - assert_raise Gem::CommandLineError do + assert_raises Gem::CommandLineError do use_ui @ui do @cmd.execute end diff --git a/test/rubygems/test_gem_commands_fetch_command.rb b/test/rubygems/test_gem_commands_fetch_command.rb index eaa13595b7..08cca0970f 100644 --- a/test/rubygems/test_gem_commands_fetch_command.rb +++ b/test/rubygems/test_gem_commands_fetch_command.rb @@ -1,4 +1,3 @@ -require 'test/unit' require File.join(File.expand_path(File.dirname(__FILE__)), 'gemutilities') require 'rubygems/package' require 'rubygems/security' diff --git a/test/rubygems/test_gem_commands_generate_index_command.rb b/test/rubygems/test_gem_commands_generate_index_command.rb index 548197841b..d886fc5e2c 100644 --- a/test/rubygems/test_gem_commands_generate_index_command.rb +++ b/test/rubygems/test_gem_commands_generate_index_command.rb @@ -1,4 +1,4 @@ -require 'test/unit' +require 'minitest/unit' require File.join(File.expand_path(File.dirname(__FILE__)), 'gemutilities') require 'rubygems/indexer' require 'rubygems/commands/generate_index_command' diff --git a/test/rubygems/test_gem_commands_install_command.rb b/test/rubygems/test_gem_commands_install_command.rb index ef04072b93..46e5e28caf 100644 --- a/test/rubygems/test_gem_commands_install_command.rb +++ b/test/rubygems/test_gem_commands_install_command.rb @@ -1,4 +1,3 @@ -require 'test/unit' require File.join(File.expand_path(File.dirname(__FILE__)), 'gemutilities') require 'rubygems/commands/install_command' @@ -16,7 +15,7 @@ class TestGemCommandsInstallCommand < RubyGemTestCase @cmd.options[:include_dependencies] = true @cmd.options[:args] = [] - assert_raise Gem::CommandLineError do + assert_raises Gem::CommandLineError do use_ui @ui do @cmd.execute end @@ -79,7 +78,7 @@ class TestGemCommandsInstallCommand < RubyGemTestCase def test_execute_no_gem @cmd.options[:args] = %w[] - assert_raise Gem::CommandLineError do + assert_raises Gem::CommandLineError do @cmd.execute end end diff --git a/test/rubygems/test_gem_commands_list_command.rb b/test/rubygems/test_gem_commands_list_command.rb index bac9cca03f..db3fe90baf 100644 --- a/test/rubygems/test_gem_commands_list_command.rb +++ b/test/rubygems/test_gem_commands_list_command.rb @@ -1,4 +1,3 @@ -require 'test/unit' require File.join(File.expand_path(File.dirname(__FILE__)), 'gemutilities') require 'rubygems/commands/list_command' @@ -21,7 +20,7 @@ class TestGemCommandsListCommand < RubyGemTestCase def test_execute_installed @cmd.handle_options %w[c --installed] - e = assert_raise Gem::SystemExitException do + e = assert_raises Gem::SystemExitException do use_ui @ui do @cmd.execute end diff --git a/test/rubygems/test_gem_commands_lock_command.rb b/test/rubygems/test_gem_commands_lock_command.rb index 089fed6e9a..e5d8dbe7b0 100644 --- a/test/rubygems/test_gem_commands_lock_command.rb +++ b/test/rubygems/test_gem_commands_lock_command.rb @@ -1,4 +1,3 @@ -require 'test/unit' require File.join(File.expand_path(File.dirname(__FILE__)), 'gemutilities') require 'rubygems/commands/lock_command' @@ -56,7 +55,7 @@ gem 'd', '= 1' def test_execute_strict @cmd.handle_options %w[c-1 --strict] - e = assert_raise Gem::Exception do + e = assert_raises Gem::Exception do use_ui @ui do @cmd.execute end diff --git a/test/rubygems/test_gem_commands_mirror_command.rb b/test/rubygems/test_gem_commands_mirror_command.rb index 359ba5481e..f9a3b22545 100644 --- a/test/rubygems/test_gem_commands_mirror_command.rb +++ b/test/rubygems/test_gem_commands_mirror_command.rb @@ -1,4 +1,3 @@ -require 'test/unit' require File.join(File.expand_path(File.dirname(__FILE__)), 'gemutilities') require 'rubygems/indexer' require 'rubygems/commands/mirror_command' diff --git a/test/rubygems/test_gem_commands_outdated_command.rb b/test/rubygems/test_gem_commands_outdated_command.rb index a6668c01fc..7ea3d8d2be 100644 --- a/test/rubygems/test_gem_commands_outdated_command.rb +++ b/test/rubygems/test_gem_commands_outdated_command.rb @@ -1,4 +1,3 @@ -require 'test/unit' require File.join(File.expand_path(File.dirname(__FILE__)), 'gemutilities') require 'rubygems/commands/outdated_command' diff --git a/test/rubygems/test_gem_commands_pristine_command.rb b/test/rubygems/test_gem_commands_pristine_command.rb index d5d2d7f339..307cba7b7f 100644 --- a/test/rubygems/test_gem_commands_pristine_command.rb +++ b/test/rubygems/test_gem_commands_pristine_command.rb @@ -1,4 +1,3 @@ -require 'test/unit' require File.join(File.expand_path(File.dirname(__FILE__)), 'gemutilities') require 'rubygems/commands/pristine_command' @@ -96,7 +95,7 @@ class TestGemCommandsPristineCommand < RubyGemTestCase def test_execute_no_gem @cmd.options[:args] = %w[] - e = assert_raise Gem::CommandLineError do + e = assert_raises Gem::CommandLineError do use_ui @ui do @cmd.execute end diff --git a/test/rubygems/test_gem_commands_query_command.rb b/test/rubygems/test_gem_commands_query_command.rb index b17e2a3ad5..785a08cd6c 100644 --- a/test/rubygems/test_gem_commands_query_command.rb +++ b/test/rubygems/test_gem_commands_query_command.rb @@ -1,4 +1,3 @@ -require 'test/unit' require File.join(File.expand_path(File.dirname(__FILE__)), 'gemutilities') require 'rubygems/commands/query_command' @@ -99,7 +98,7 @@ pl (1) def test_execute_installed @cmd.handle_options %w[-n c --installed] - e = assert_raise Gem::SystemExitException do + e = assert_raises Gem::SystemExitException do use_ui @ui do @cmd.execute end @@ -115,7 +114,7 @@ pl (1) def test_execute_installed_no_name @cmd.handle_options %w[--installed] - e = assert_raise Gem::SystemExitException do + e = assert_raises Gem::SystemExitException do use_ui @ui do @cmd.execute end @@ -130,7 +129,7 @@ pl (1) def test_execute_installed_not_installed @cmd.handle_options %w[-n not_installed --installed] - e = assert_raise Gem::SystemExitException do + e = assert_raises Gem::SystemExitException do use_ui @ui do @cmd.execute end @@ -145,7 +144,7 @@ pl (1) def test_execute_installed_version @cmd.handle_options %w[-n c --installed --version 1.2] - e = assert_raise Gem::SystemExitException do + e = assert_raises Gem::SystemExitException do use_ui @ui do @cmd.execute end @@ -160,7 +159,7 @@ pl (1) def test_execute_installed_version_not_installed @cmd.handle_options %w[-n c --installed --version 2] - e = assert_raise Gem::SystemExitException do + e = assert_raises Gem::SystemExitException do use_ui @ui do @cmd.execute end diff --git a/test/rubygems/test_gem_commands_server_command.rb b/test/rubygems/test_gem_commands_server_command.rb index 2985b036d8..93d5a6ed47 100644 --- a/test/rubygems/test_gem_commands_server_command.rb +++ b/test/rubygems/test_gem_commands_server_command.rb @@ -1,4 +1,3 @@ -require 'test/unit' require File.join(File.expand_path(File.dirname(__FILE__)), 'gemutilities') require 'rubygems/commands/server_command' diff --git a/test/rubygems/test_gem_commands_sources_command.rb b/test/rubygems/test_gem_commands_sources_command.rb index 623c732e50..016a6d0616 100644 --- a/test/rubygems/test_gem_commands_sources_command.rb +++ b/test/rubygems/test_gem_commands_sources_command.rb @@ -1,4 +1,3 @@ -require 'test/unit' require File.join(File.expand_path(File.dirname(__FILE__)), 'gemutilities') require 'rubygems/commands/sources_command' diff --git a/test/rubygems/test_gem_commands_specification_command.rb b/test/rubygems/test_gem_commands_specification_command.rb index 7ac0429f32..c2379595c7 100644 --- a/test/rubygems/test_gem_commands_specification_command.rb +++ b/test/rubygems/test_gem_commands_specification_command.rb @@ -1,4 +1,3 @@ -require 'test/unit' require File.join(File.expand_path(File.dirname(__FILE__)), 'gemutilities') require 'rubygems/commands/specification_command' @@ -46,7 +45,7 @@ class TestGemCommandsSpecificationCommand < RubyGemTestCase def test_execute_bad_name @cmd.options[:args] = %w[foo] - assert_raise MockGemUi::TermError do + assert_raises 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 6f66c854a5..d38e54179a 100644 --- a/test/rubygems/test_gem_commands_stale_command.rb +++ b/test/rubygems/test_gem_commands_stale_command.rb @@ -1,4 +1,3 @@ -require 'test/unit' require File.join(File.expand_path(File.dirname(__FILE__)), 'gemutilities') require 'rubygems/commands/stale_command' diff --git a/test/rubygems/test_gem_commands_uninstall_command.rb b/test/rubygems/test_gem_commands_uninstall_command.rb index 80f6591aef..cded63f447 100644 --- a/test/rubygems/test_gem_commands_uninstall_command.rb +++ b/test/rubygems/test_gem_commands_uninstall_command.rb @@ -1,4 +1,3 @@ -require 'test/unit' require File.join(File.expand_path(File.dirname(__FILE__)), 'gemutilities') require File.join(File.expand_path(File.dirname(__FILE__)), 'gem_installer_test_case') @@ -48,7 +47,7 @@ class TestGemCommandsUninstallCommand < GemInstallerTestCase def test_execute_not_installed @cmd.options[:args] = ["foo"] - e = assert_raise(Gem::InstallError) do + e = assert_raises Gem::InstallError do use_ui @ui do @cmd.execute end diff --git a/test/rubygems/test_gem_commands_unpack_command.rb b/test/rubygems/test_gem_commands_unpack_command.rb index 3a62a914a4..6dac927757 100644 --- a/test/rubygems/test_gem_commands_unpack_command.rb +++ b/test/rubygems/test_gem_commands_unpack_command.rb @@ -1,4 +1,3 @@ -require 'test/unit' require File.join(File.expand_path(File.dirname(__FILE__)), 'gemutilities') require 'rubygems/commands/unpack_command' diff --git a/test/rubygems/test_gem_commands_update_command.rb b/test/rubygems/test_gem_commands_update_command.rb index 11da1f8a83..77727fe6db 100644 --- a/test/rubygems/test_gem_commands_update_command.rb +++ b/test/rubygems/test_gem_commands_update_command.rb @@ -1,4 +1,3 @@ -require 'test/unit' require File.join(File.expand_path(File.dirname(__FILE__)), 'gemutilities') require 'rubygems/commands/update_command' diff --git a/test/rubygems/test_gem_config_file.rb b/test/rubygems/test_gem_config_file.rb index 17071ef65f..fdae7faa32 100644 --- a/test/rubygems/test_gem_config_file.rb +++ b/test/rubygems/test_gem_config_file.rb @@ -1,11 +1,9 @@ -#!/usr/bin/env ruby #-- # Copyright 2006 by Chad Fowler, Rich Kilmer, Jim Weirich and others. # All rights reserved. # See LICENSE.txt for permissions. #++ -require 'test/unit' require File.join(File.expand_path(File.dirname(__FILE__)), 'gemutilities') require 'rubygems/config_file' diff --git a/test/rubygems/test_gem_dependency.rb b/test/rubygems/test_gem_dependency.rb index 315c49d6ce..5b409fa1a8 100644 --- a/test/rubygems/test_gem_dependency.rb +++ b/test/rubygems/test_gem_dependency.rb @@ -4,7 +4,6 @@ # See LICENSE.txt for permissions. #++ -require 'test/unit' require File.join(File.expand_path(File.dirname(__FILE__)), 'gemutilities') require 'rubygems/version' @@ -70,7 +69,7 @@ class TestGemDependency < RubyGemTestCase end def test_type_is_restricted - assert_raise(ArgumentError) do + assert_raises ArgumentError do Gem::Dependency.new("pkg", [:sometimes]) end end @@ -79,21 +78,21 @@ class TestGemDependency < RubyGemTestCase assert_equal @pkg1_0, @pkg1_0.dup assert_equal @pkg1_0.dup, @pkg1_0 - assert_not_equal @pkg1_0, @pkg1_1, "requirements different" - assert_not_equal @pkg1_1, @pkg1_0, "requirements different" + refute_equal @pkg1_0, @pkg1_1, "requirements different" + refute_equal @pkg1_1, @pkg1_0, "requirements different" - assert_not_equal @pkg1_0, @oth1_0, "names different" - assert_not_equal @oth1_0, @pkg1_0, "names different" + refute_equal @pkg1_0, @oth1_0, "names different" + refute_equal @oth1_0, @pkg1_0, "names different" - assert_not_equal @pkg1_0, Object.new - assert_not_equal Object.new, @pkg1_0 + refute_equal @pkg1_0, Object.new + refute_equal Object.new, @pkg1_0 end def test_equals2_type runtime = Gem::Dependency.new("pkg", []) development = Gem::Dependency.new("pkg", [], :development) - assert_not_equal(runtime, development) + refute_equal(runtime, development) end def test_equals_tilde @@ -123,18 +122,18 @@ class TestGemDependency < RubyGemTestCase assert_equal @pkg1_0.hash, @pkg1_0.dup.hash assert_equal @pkg1_0.dup.hash, @pkg1_0.hash - assert_not_equal @pkg1_0.hash, @pkg1_1.hash, "requirements different" - assert_not_equal @pkg1_1.hash, @pkg1_0.hash, "requirements different" + refute_equal @pkg1_0.hash, @pkg1_1.hash, "requirements different" + refute_equal @pkg1_1.hash, @pkg1_0.hash, "requirements different" - assert_not_equal @pkg1_0.hash, @oth1_0.hash, "names different" - assert_not_equal @oth1_0.hash, @pkg1_0.hash, "names different" + refute_equal @pkg1_0.hash, @oth1_0.hash, "names different" + refute_equal @oth1_0.hash, @pkg1_0.hash, "names different" end def test_hash_type runtime = Gem::Dependency.new("pkg", []) development = Gem::Dependency.new("pkg", [], :development) - assert_not_equal(runtime.hash, development.hash) + refute_equal(runtime.hash, development.hash) end end diff --git a/test/rubygems/test_gem_dependency_installer.rb b/test/rubygems/test_gem_dependency_installer.rb index 10e7fdfbda..3a57c05e79 100644 --- a/test/rubygems/test_gem_dependency_installer.rb +++ b/test/rubygems/test_gem_dependency_installer.rb @@ -1,4 +1,3 @@ -require 'test/unit' require File.join(File.expand_path(File.dirname(__FILE__)), 'gemutilities') require 'rubygems/dependency_installer' @@ -360,7 +359,7 @@ class TestGemDependencyInstaller < RubyGemTestCase Gem.source_index.gems.delete @a1.full_name Dir.chdir @tempdir do - e = assert_raise Gem::InstallError do + e = assert_raises Gem::InstallError do inst = Gem::DependencyInstaller.new :domain => :local inst.install 'b' end @@ -498,7 +497,7 @@ class TestGemDependencyInstaller < RubyGemTestCase policy = Gem::Security::HighSecurity inst = Gem::DependencyInstaller.new :security_policy => policy - e = assert_raise Gem::Exception do + e = assert_raises Gem::Exception do inst.install 'b' end @@ -516,8 +515,8 @@ class TestGemDependencyInstaller < RubyGemTestCase inst = Gem::DependencyInstaller.new :wrappers => false inst.install 'a' - assert_no_match(%r|This file was generated by RubyGems.|, - File.read(File.join(@gemhome, 'bin', 'a_bin'))) + refute_match(%r|This file was generated by RubyGems.|, + File.read(File.join(@gemhome, 'bin', 'a_bin'))) end end diff --git a/test/rubygems/test_gem_dependency_list.rb b/test/rubygems/test_gem_dependency_list.rb index 5fdc227f05..a10a1a4b2c 100644 --- a/test/rubygems/test_gem_dependency_list.rb +++ b/test/rubygems/test_gem_dependency_list.rb @@ -1,12 +1,9 @@ -#!/usr/bin/env ruby #-- # Copyright 2006 by Chad Fowler, Rich Kilmer, Jim Weirich and others. # All rights reserved. # See LICENSE.txt for permissions. #++ - -require 'test/unit' require File.join(File.expand_path(File.dirname(__FILE__)), 'gemutilities') require 'rubygems/dependency_list' diff --git a/test/rubygems/test_gem_digest.rb b/test/rubygems/test_gem_digest.rb index 9d825b2796..13613c96a8 100755 --- a/test/rubygems/test_gem_digest.rb +++ b/test/rubygems/test_gem_digest.rb @@ -1,44 +1,46 @@ -#!/usr/bin/env ruby #-- # Copyright 2006 by Chad Fowler, Rich Kilmer, Jim Weirich and others. # All rights reserved. # See LICENSE.txt for permissions. #++ -require "test/unit" +require File.join(File.expand_path(File.dirname(__FILE__)), 'gemutilities') require "rubygems/digest/md5" require "rubygems/digest/sha1" require "rubygems/digest/sha2" -class TestRubygemsGemDigest < Test::Unit::TestCase +class TestRubygemsGemDigest < RubyGemTestCase + def test_sha256_hex_digest_works digester = Gem::SHA256.new assert_equal "b5d4045c3f466fa91fe2cc6abe79232a1a57cdf104f7a26e716e0a1e2789df78", digester.hexdigest("ABC") end - + def test_sha256_digest_works digester = Gem::SHA256.new - assert_equal "\265\324\004\\?Fo\251\037\342\314j\276y#*\032W\315\361\004\367\242nqn\n\036'\211\337x", + assert_equal "\265\324\004\\?Fo\251\037\342\314j\276y#*\032W\315\361\004\367\242nqn\n\036'\211\337x", digester.digest("ABC") end - + def test_sha1_hex_digest_works digester = Gem::SHA1.new assert_equal "3c01bdbb26f358bab27f267924aa2c9a03fcfdb8", digester.hexdigest("ABC") end - + def test_sha1_digest_works digester = Gem::SHA1.new assert_equal "<\001\275\273&\363X\272\262\177&y$\252,\232\003\374\375\270", digester.digest("ABC") end - + def test_md5_hex_digest_works digester = Gem::MD5.new assert_equal "902fbdd2b1df0c4f70b4a5d23525e932", digester.hexdigest("ABC") end - + def test_md5_digest_works digester = Gem::MD5.new assert_equal "\220/\275\322\261\337\fOp\264\245\3225%\3512", digester.digest("ABC") end -end \ No newline at end of file + +end + diff --git a/test/rubygems/test_gem_doc_manager.rb b/test/rubygems/test_gem_doc_manager.rb index e52fb9f0cd..f519ce7cd4 100644 --- a/test/rubygems/test_gem_doc_manager.rb +++ b/test/rubygems/test_gem_doc_manager.rb @@ -4,7 +4,6 @@ # See LICENSE.txt for permissions. #++ -require 'test/unit' require File.join(File.expand_path(File.dirname(__FILE__)), 'gemutilities') require 'rubygems/doc_manager' @@ -21,7 +20,7 @@ class TestGemDocManager < RubyGemTestCase orig_mode = File.stat(@spec.installation_path).mode File.chmod 0, @spec.installation_path - assert_raise Gem::FilePermissionError do + assert_raises Gem::FilePermissionError do @manager.uninstall_doc end ensure diff --git a/test/rubygems/test_gem_ext_configure_builder.rb b/test/rubygems/test_gem_ext_configure_builder.rb index a1b656353a..837c3a1929 100644 --- a/test/rubygems/test_gem_ext_configure_builder.rb +++ b/test/rubygems/test_gem_ext_configure_builder.rb @@ -1,4 +1,3 @@ -require 'test/unit' require File.join(File.expand_path(File.dirname(__FILE__)), 'gemutilities') require 'rubygems/ext' @@ -41,7 +40,7 @@ class TestGemExtConfigureBuilder < RubyGemTestCase return if RUBY_PLATFORM =~ /mswin/ # HACK output = [] - error = assert_raise Gem::InstallError do + error = assert_raises Gem::InstallError do Dir.chdir @ext do Gem::Ext::ConfigureBuilder.build nil, nil, @dest_path, output end diff --git a/test/rubygems/test_gem_ext_ext_conf_builder.rb b/test/rubygems/test_gem_ext_ext_conf_builder.rb index fb21fa0755..d178c1f737 100644 --- a/test/rubygems/test_gem_ext_ext_conf_builder.rb +++ b/test/rubygems/test_gem_ext_ext_conf_builder.rb @@ -1,4 +1,3 @@ -require 'test/unit' require File.join(File.expand_path(File.dirname(__FILE__)), 'gemutilities') require 'rubygems/ext' @@ -55,7 +54,7 @@ class TestGemExtExtConfBuilder < RubyGemTestCase output = [] - error = assert_raise Gem::InstallError do + error = assert_raises Gem::InstallError do Dir.chdir @ext do Gem::Ext::ExtConfBuilder.build 'extconf.rb', nil, @dest_path, output end @@ -103,7 +102,7 @@ install: end def test_class_make_no_Makefile - error = assert_raise Gem::InstallError do + error = assert_raises Gem::InstallError do Dir.chdir @ext do Gem::Ext::ExtConfBuilder.make @ext, ['output'] end diff --git a/test/rubygems/test_gem_ext_rake_builder.rb b/test/rubygems/test_gem_ext_rake_builder.rb index b1e7783d54..18d74c382a 100644 --- a/test/rubygems/test_gem_ext_rake_builder.rb +++ b/test/rubygems/test_gem_ext_rake_builder.rb @@ -1,4 +1,3 @@ -require 'test/unit' require File.join(File.expand_path(File.dirname(__FILE__)), 'gemutilities') require 'rubygems/ext' @@ -41,7 +40,7 @@ class TestGemExtRakeBuilder < RubyGemTestCase "(in #{realdir})\n" ] - assert_no_match %r%^rake failed:%, output + refute_match %r%^rake failed:%, output assert_match %r%^#{Regexp.escape @@ruby} mkrf_conf\.rb%, output assert_match %r%^#{Regexp.escape @@rake} RUBYARCHDIR=#{Regexp.escape @dest_path} RUBYLIBDIR=#{Regexp.escape @dest_path}%, output end @@ -57,7 +56,7 @@ class TestGemExtRakeBuilder < RubyGemTestCase output = [] - error = assert_raise Gem::InstallError do + error = assert_raises Gem::InstallError do build_rake_in do Dir.chdir @ext do Gem::Ext::RakeBuilder.build "mkrf_conf.rb", nil, @dest_path, output diff --git a/test/rubygems/test_gem_format.rb b/test/rubygems/test_gem_format.rb index 4014acfed9..4d8a38a062 100644 --- a/test/rubygems/test_gem_format.rb +++ b/test/rubygems/test_gem_format.rb @@ -4,7 +4,6 @@ # See LICENSE.txt for permissions. #++ -require 'test/unit' require File.join(File.expand_path(File.dirname(__FILE__)), 'gemutilities') require File.join(File.expand_path(File.dirname(__FILE__)), 'simple_gem') require 'rubygems/format' @@ -36,27 +35,27 @@ class TestGemFormat < RubyGemTestCase end def test_from_file_by_path_nonexistent - assert_raise Gem::Exception do + assert_raises Gem::Exception do Gem::Format.from_file_by_path '/nonexistent' end end def test_from_io_garbled - e = assert_raise Gem::Package::FormatError do + e = assert_raises Gem::Package::FormatError do # subtly bogus input Gem::Format.from_io(StringIO.new(@simple_gem.upcase)) end assert_equal 'No metadata found!', e.message - e = assert_raise Gem::Package::FormatError do + e = assert_raises Gem::Package::FormatError do # Totally bogus input Gem::Format.from_io(StringIO.new(@simple_gem.reverse)) end assert_equal 'No metadata found!', e.message - e = assert_raise Gem::Package::FormatError do + e = assert_raises Gem::Package::FormatError do # This was intentionally screws up YAML parsing. Gem::Format.from_io(StringIO.new(@simple_gem.gsub(/:/, "boom"))) end @@ -66,4 +65,3 @@ class TestGemFormat < RubyGemTestCase end - diff --git a/test/rubygems/test_gem_gem_path_searcher.rb b/test/rubygems/test_gem_gem_path_searcher.rb index a6124df84d..d69de4d22a 100644 --- a/test/rubygems/test_gem_gem_path_searcher.rb +++ b/test/rubygems/test_gem_gem_path_searcher.rb @@ -1,4 +1,3 @@ -require 'test/unit' require File.join(File.expand_path(File.dirname(__FILE__)), 'gemutilities') require 'rubygems/gem_path_searcher' diff --git a/test/rubygems/test_gem_gem_runner.rb b/test/rubygems/test_gem_gem_runner.rb index 4e3239f015..2b4889e015 100644 --- a/test/rubygems/test_gem_gem_runner.rb +++ b/test/rubygems/test_gem_gem_runner.rb @@ -1,4 +1,3 @@ -require 'test/unit' require File.join(File.expand_path(File.dirname(__FILE__)), 'gemutilities') require 'rubygems/gem_runner' diff --git a/test/rubygems/test_gem_indexer.rb b/test/rubygems/test_gem_indexer.rb index 9d68a7f34d..b1932c7335 100644 --- a/test/rubygems/test_gem_indexer.rb +++ b/test/rubygems/test_gem_indexer.rb @@ -4,7 +4,6 @@ # See LICENSE.txt for permissions. #++ -require 'test/unit' require File.join(File.expand_path(File.dirname(__FILE__)), 'gemutilities') require 'rubygems/indexer' @@ -217,8 +216,8 @@ Compressing indicies assert_same specs[0].last, specs[1].last, 'identical platforms not identical' - assert_not_same specs[1][1], specs[5][1], - 'different versions not different' + refute_same specs[1][1], specs[5][1], + 'different versions not different' end def test_generate_index_latest_specs diff --git a/test/rubygems/test_gem_install_update_options.rb b/test/rubygems/test_gem_install_update_options.rb index cccbb74314..8610a79cdf 100644 --- a/test/rubygems/test_gem_install_update_options.rb +++ b/test/rubygems/test_gem_install_update_options.rb @@ -1,4 +1,3 @@ -require 'test/unit' require File.join(File.expand_path(File.dirname(__FILE__)), 'gemutilities') require File.join(File.expand_path(File.dirname(__FILE__)), 'gem_installer_test_case') @@ -31,7 +30,7 @@ class TestGemInstallUpdateOptions < GemInstallerTestCase def test_security_policy_unknown @cmd.add_install_update_options - assert_raise OptionParser::InvalidArgument do + assert_raises OptionParser::InvalidArgument do @cmd.handle_options %w[-P UnknownSecurity] end end diff --git a/test/rubygems/test_gem_installer.rb b/test/rubygems/test_gem_installer.rb index 4447444815..3df9dbc28c 100644 --- a/test/rubygems/test_gem_installer.rb +++ b/test/rubygems/test_gem_installer.rb @@ -52,7 +52,7 @@ load 'my_exec' def test_build_extensions_extconf_bad @spec.extensions << 'extconf.rb' - e = assert_raise Gem::Installer::ExtensionBuildError do + e = assert_raises Gem::Installer::ExtensionBuildError do use_ui @ui do @installer.build_extensions end @@ -79,7 +79,7 @@ load 'my_exec' def test_build_extensions_unsupported @spec.extensions << nil - e = assert_raise Gem::Installer::ExtensionBuildError do + e = assert_raises Gem::Installer::ExtensionBuildError do use_ui @ui do @installer.build_extensions end @@ -101,7 +101,7 @@ load 'my_exec' assert @installer.ensure_dependency(@spec, dep) dep = Gem::Dependency.new 'b', '> 2' - e = assert_raise Gem::InstallError do + e = assert_raises Gem::InstallError do @installer.ensure_dependency @spec, dep end @@ -142,7 +142,7 @@ load 'my_exec' def test_extract_files_bad_dest @installer.gem_dir = 'somedir' @installer.format = nil - e = assert_raise ArgumentError do + e = assert_raises ArgumentError do @installer.extract_files end @@ -157,7 +157,7 @@ load 'my_exec' @installer.format = format - e = assert_raise Gem::InstallError do + e = assert_raises Gem::InstallError do @installer.extract_files end @@ -175,7 +175,7 @@ load 'my_exec' @installer.format = format - e = assert_raise Gem::InstallError do + e = assert_raises Gem::InstallError do @installer.extract_files end @@ -342,8 +342,8 @@ load 'my_exec' assert_match %r|generated by RubyGems|, File.read(installed_exec) - assert_no_match %r|generated by RubyGems|, File.read(real_exec), - 'real executable overwritten' + refute_match %r|generated by RubyGems|, File.read(real_exec), + 'real executable overwritten' end def test_generate_bin_symlink @@ -581,7 +581,7 @@ load 'my_exec' gem_data = File.open gem, 'rb' do |fp| fp.read 1024 end File.open gem, 'wb' do |fp| fp.write gem_data end - e = assert_raise Gem::InstallError do + e = assert_raises Gem::InstallError do use_ui @ui do @installer = Gem::Installer.new gem @installer.install @@ -596,7 +596,7 @@ load 'my_exec' util_setup_gem use_ui @ui do - assert_raise Gem::InstallError do + assert_raises Gem::InstallError do @installer.install end end @@ -739,7 +739,7 @@ load 'my_exec' def test_install_wrong_ruby_version use_ui @ui do installer = Gem::Installer.new old_ruby_required - e = assert_raise Gem::InstallError do + e = assert_raises Gem::InstallError do installer.install end assert_equal 'old_ruby_required requires Ruby version = 1.4.6', @@ -758,7 +758,7 @@ load 'my_exec' use_ui @ui do @installer = Gem::Installer.new gem - e = assert_raise Gem::InstallError do + e = assert_raises Gem::InstallError do @installer.install end assert_equal 'old_rubygems_required requires RubyGems version < 0', diff --git a/test/rubygems/test_gem_local_remote_options.rb b/test/rubygems/test_gem_local_remote_options.rb index 5f2a1d3d86..e920972fd9 100644 --- a/test/rubygems/test_gem_local_remote_options.rb +++ b/test/rubygems/test_gem_local_remote_options.rb @@ -1,4 +1,3 @@ -require 'test/unit' require File.join(File.expand_path(File.dirname(__FILE__)), 'gemutilities') require 'rubygems/local_remote_options' require 'rubygems/command' @@ -86,7 +85,7 @@ class TestGemLocalRemoteOptions < RubyGemTestCase s1 = 'htp://more-gems.example.com' - assert_raise OptionParser::InvalidArgument do + assert_raises OptionParser::InvalidArgument do @cmd.handle_options %W[--source #{s1}] end diff --git a/test/rubygems/test_gem_package_tar_reader_entry.rb b/test/rubygems/test_gem_package_tar_reader_entry.rb index 7e25143a85..66f885b250 100644 --- a/test/rubygems/test_gem_package_tar_reader_entry.rb +++ b/test/rubygems/test_gem_package_tar_reader_entry.rb @@ -36,19 +36,19 @@ class TestGemPackageTarReaderEntry < TarTestCase assert @entry.bytes_read - e = assert_raise IOError do @entry.eof? end + e = assert_raises IOError do @entry.eof? end assert_equal 'closed Gem::Package::TarReader::Entry', e.message - e = assert_raise IOError do @entry.getc end + e = assert_raises IOError do @entry.getc end assert_equal 'closed Gem::Package::TarReader::Entry', e.message - e = assert_raise IOError do @entry.pos end + e = assert_raises IOError do @entry.pos end assert_equal 'closed Gem::Package::TarReader::Entry', e.message - e = assert_raise IOError do @entry.read end + e = assert_raises IOError do @entry.read end assert_equal 'closed Gem::Package::TarReader::Entry', e.message - e = assert_raise IOError do @entry.rewind end + e = assert_raises IOError do @entry.rewind end assert_equal 'closed Gem::Package::TarReader::Entry', e.message end diff --git a/test/rubygems/test_gem_package_tar_writer.rb b/test/rubygems/test_gem_package_tar_writer.rb index e066c2967f..4c2b475bf1 100644 --- a/test/rubygems/test_gem_package_tar_writer.rb +++ b/test/rubygems/test_gem_package_tar_writer.rb @@ -61,7 +61,7 @@ class TestTarWriter < TarTestCase end def test_add_file_simple_size - assert_raise Gem::Package::TarWriter::FileOverflow do + assert_raises Gem::Package::TarWriter::FileOverflow do @tar_writer.add_file_simple("lib/foo/bar", 0, 10) do |io| io.write "1" * 11 end @@ -69,7 +69,7 @@ class TestTarWriter < TarTestCase end def test_add_file_unseekable - assert_raise Gem::Package::NonSeekableIO do + assert_raises Gem::Package::NonSeekableIO do Gem::Package::TarWriter.new(Object.new).add_file 'x', 0 end end @@ -79,27 +79,27 @@ class TestTarWriter < TarTestCase assert_equal "\0" * 1024, @io.string - e = assert_raise IOError do + e = assert_raises IOError do @tar_writer.close end assert_equal 'closed Gem::Package::TarWriter', e.message - e = assert_raise IOError do + e = assert_raises IOError do @tar_writer.flush end assert_equal 'closed Gem::Package::TarWriter', e.message - e = assert_raise IOError do + e = assert_raises IOError do @tar_writer.add_file 'x', 0 end assert_equal 'closed Gem::Package::TarWriter', e.message - e = assert_raise IOError do + e = assert_raises IOError do @tar_writer.add_file_simple 'x', 0, 0 end assert_equal 'closed Gem::Package::TarWriter', e.message - e = assert_raise IOError do + e = assert_raises IOError do @tar_writer.mkdir 'x', 0 end assert_equal 'closed Gem::Package::TarWriter', e.message @@ -125,7 +125,7 @@ class TestTarWriter < TarTestCase name = File.join 'a', 'b' * 100 assert_equal ['b' * 100, 'a'], @tar_writer.split_name(name) - assert_raise Gem::Package::TooLongFileName do + assert_raises Gem::Package::TooLongFileName do name = File.join 'a', 'b' * 101 @tar_writer.split_name name end @@ -135,14 +135,14 @@ class TestTarWriter < TarTestCase name = File.join 'a' * 155, 'b' assert_equal ['b', 'a' * 155], @tar_writer.split_name(name) - assert_raise Gem::Package::TooLongFileName do + assert_raises Gem::Package::TooLongFileName do name = File.join 'a' * 156, 'b' @tar_writer.split_name name end end def test_split_name_too_long_total - assert_raise Gem::Package::TooLongFileName do + assert_raises Gem::Package::TooLongFileName do @tar_writer.split_name 'a' * 257 end end diff --git a/test/rubygems/test_gem_platform.rb b/test/rubygems/test_gem_platform.rb index 362a366266..fdb8fb11ed 100644 --- a/test/rubygems/test_gem_platform.rb +++ b/test/rubygems/test_gem_platform.rb @@ -1,5 +1,4 @@ require File.join(File.expand_path(File.dirname(__FILE__)), 'gemutilities') -require 'test/unit' require 'rubygems/platform' require 'rbconfig' @@ -147,8 +146,8 @@ class TestGemPlatform < RubyGemTestCase other = Gem::Platform.new %w[cpu other_platform 1] assert_equal my, my - assert_not_equal my, other - assert_not_equal other, my + refute_equal my, other + refute_equal other, my end def test_equals3 @@ -205,10 +204,10 @@ class TestGemPlatform < RubyGemTestCase # oddballs assert_match 'i386-mswin32-mq5.3', Gem::Platform.local assert_match 'i386-mswin32-mq6', Gem::Platform.local - deny_match 'win32-1.8.2-VC7', Gem::Platform.local - deny_match 'win32-1.8.4-VC6', Gem::Platform.local - deny_match 'win32-source', Gem::Platform.local - deny_match 'windows', Gem::Platform.local + refute_match 'win32-1.8.2-VC7', Gem::Platform.local + refute_match 'win32-1.8.4-VC6', Gem::Platform.local + refute_match 'win32-source', Gem::Platform.local + refute_match 'windows', Gem::Platform.local util_set_arch 'i686-linux' assert_match 'i486-linux', Gem::Platform.local @@ -236,17 +235,5 @@ class TestGemPlatform < RubyGemTestCase assert_match 'sparc-solaris2.8-mq5.3', Gem::Platform.local end - def assert_match(pattern, platform, message = '') - full_message = build_message message, " expected to be =~\n.", - platform, pattern - assert_block(full_message) { platform =~ pattern } - end - - def deny_match(pattern, platform, message = '') - full_message = build_message message, " expected to be !~\n.", - platform, pattern - assert_block(full_message) { platform !~ pattern } - end - end diff --git a/test/rubygems/test_gem_remote_fetcher.rb b/test/rubygems/test_gem_remote_fetcher.rb index 103cb38898..3f135ba046 100644 --- a/test/rubygems/test_gem_remote_fetcher.rb +++ b/test/rubygems/test_gem_remote_fetcher.rb @@ -1,11 +1,9 @@ -#!/usr/bin/env ruby #-- # Copyright 2006 by Chad Fowler, Rich Kilmer, Jim Weirich and others. # All rights reserved. # See LICENSE.txt for permissions. #++ -require 'test/unit' require File.join(File.expand_path(File.dirname(__FILE__)), 'gemutilities') require 'webrick' require 'zlib' @@ -111,9 +109,14 @@ gems: @fetcher = Gem::RemoteFetcher.fetcher end + def teardown + super + Gem.configuration[:http_proxy] = nil + end + def test_self_fetcher fetcher = Gem::RemoteFetcher.fetcher - assert_not_nil fetcher + refute_nil fetcher assert_kind_of Gem::RemoteFetcher, fetcher end @@ -124,7 +127,7 @@ gems: fetcher = Gem::RemoteFetcher.fetcher - assert_not_nil fetcher + refute_nil fetcher assert_kind_of Gem::RemoteFetcher, fetcher assert_equal proxy_uri, fetcher.instance_variable_get(:@proxy_uri).to_s end @@ -132,8 +135,11 @@ gems: def test_self_fetcher_with_proxy_URI proxy_uri = URI.parse 'http://proxy.example.com' Gem.configuration[:http_proxy] = proxy_uri + Gem::RemoteFetcher.fetcher = nil + fetcher = Gem::RemoteFetcher.fetcher - assert_not_nil fetcher + refute_nil fetcher + assert_kind_of Gem::RemoteFetcher, fetcher assert_equal proxy_uri, fetcher.instance_variable_get(:@proxy_uri) end @@ -141,7 +147,7 @@ gems: def test_fetch_size_bad_uri fetcher = Gem::RemoteFetcher.new nil - e = assert_raise ArgumentError do + e = assert_raises ArgumentError do fetcher.fetch_size 'gems.example.com/yaml' end @@ -155,7 +161,7 @@ gems: end uri = 'http://gems.example.com/yaml' - e = assert_raise Gem::RemoteFetcher::FetchError do + e = assert_raises Gem::RemoteFetcher::FetchError do fetcher.fetch_size uri end @@ -310,7 +316,7 @@ gems: def test_download_unsupported inst = Gem::RemoteFetcher.fetcher - e = assert_raise Gem::InstallError do + e = assert_raises Gem::InstallError do inst.download @a1, 'ftp://gems.rubyforge.org' end @@ -408,7 +414,7 @@ gems: raise EOFError end - e = assert_raise Gem::RemoteFetcher::FetchError do + e = assert_raises Gem::RemoteFetcher::FetchError do fetcher.fetch_path 'uri' end @@ -423,7 +429,7 @@ gems: raise SocketError end - e = assert_raise Gem::RemoteFetcher::FetchError do + e = assert_raises Gem::RemoteFetcher::FetchError do fetcher.fetch_path 'uri' end @@ -438,7 +444,7 @@ gems: raise Errno::ECONNREFUSED, 'connect(2)' end - e = assert_raise Gem::RemoteFetcher::FetchError do + e = assert_raises Gem::RemoteFetcher::FetchError do fetcher.fetch_path 'uri' end @@ -546,7 +552,7 @@ gems: conn = { 'gems.example.com:80' => conn } fetcher.instance_variable_set :@connections, conn - e = assert_raise Gem::RemoteFetcher::FetchError do + e = assert_raises Gem::RemoteFetcher::FetchError do fetcher.open_uri_or_path 'http://gems.example.com/redirect' end diff --git a/test/rubygems/test_gem_requirement.rb b/test/rubygems/test_gem_requirement.rb index c441bd16df..e1399bdaff 100644 --- a/test/rubygems/test_gem_requirement.rb +++ b/test/rubygems/test_gem_requirement.rb @@ -4,7 +4,6 @@ # See LICENSE.txt for permissions. #++ -require 'test/unit' require File.join(File.expand_path(File.dirname(__FILE__)), 'gemutilities') require 'rubygems/version' @@ -32,19 +31,19 @@ class TestGemRequirement < RubyGemTestCase assert_equal @r1_2, @r1_2.dup assert_equal @r1_2.dup, @r1_2 - assert_not_equal @r1_3, @r1_2 - assert_not_equal @r1_2, @r1_3 + refute_equal @r1_3, @r1_2 + refute_equal @r1_2, @r1_3 - assert_not_equal Object.new, @r1_2 - assert_not_equal @r1_2, Object.new + refute_equal Object.new, @r1_2 + refute_equal @r1_2, Object.new end def test_hash assert_equal @r1_2.hash, @r1_2.dup.hash assert_equal @r1_2.dup.hash, @r1_2.hash - assert_not_equal @r1_2.hash, @r1_3.hash - assert_not_equal @r1_3.hash, @r1_2.hash + refute_equal @r1_2.hash, @r1_3.hash + refute_equal @r1_3.hash, @r1_2.hash end # We may get some old gems that have requirements in old formats. @@ -80,13 +79,13 @@ class TestGemRequirement < RubyGemTestCase end def test_parse_illformed - e = assert_raise ArgumentError do + e = assert_raises ArgumentError do @r1_2.parse(nil) end assert_equal 'Illformed requirement [nil]', e.message - e = assert_raise ArgumentError do + e = assert_raises ArgumentError do @r1_2.parse('') end @@ -139,7 +138,7 @@ class TestGemRequirement < RubyGemTestCase assert_equal false, r1_2.satisfied_by?(v1_2) assert_equal true, r1_2.satisfied_by?(v1_3) - assert_raise NoMethodError do + assert_raises NoMethodError do assert_equal true, r1_2.satisfied_by?(nil) end end @@ -154,7 +153,7 @@ class TestGemRequirement < RubyGemTestCase assert_equal true, r1_2.satisfied_by?(v1_2) assert_equal true, r1_2.satisfied_by?(v1_3) - assert_raise NoMethodError do + assert_raises NoMethodError do assert_equal true, r1_2.satisfied_by?(nil) end end @@ -169,7 +168,7 @@ class TestGemRequirement < RubyGemTestCase assert_equal true, r.satisfied_by?(v1_2) assert_equal false, r.satisfied_by?(v1_3) - assert_raise NoMethodError do + assert_raises NoMethodError do assert_equal true, r.satisfied_by?(nil) end end @@ -184,7 +183,7 @@ class TestGemRequirement < RubyGemTestCase assert_equal false, r1_2.satisfied_by?(v1_2) assert_equal false, r1_2.satisfied_by?(v1_3) - assert_raise NoMethodError do + assert_raises NoMethodError do assert_equal true, r1_2.satisfied_by?(nil) end end @@ -199,7 +198,7 @@ class TestGemRequirement < RubyGemTestCase assert_equal true, r1_2.satisfied_by?(v1_2) assert_equal false, r1_2.satisfied_by?(v1_3) - assert_raise NoMethodError do + assert_raises NoMethodError do assert_equal true, r1_2.satisfied_by?(nil) end end @@ -214,7 +213,7 @@ class TestGemRequirement < RubyGemTestCase assert_equal true, r1_2.satisfied_by?(v1_2) assert_equal true, r1_2.satisfied_by?(v1_3) - assert_raise NoMethodError do + assert_raises NoMethodError do assert_equal true, r1_2.satisfied_by?(nil) end end diff --git a/test/rubygems/test_gem_server.rb b/test/rubygems/test_gem_server.rb index dcdc766f0f..866a9e3c97 100644 --- a/test/rubygems/test_gem_server.rb +++ b/test/rubygems/test_gem_server.rb @@ -1,4 +1,3 @@ -require 'test/unit' require File.join(File.expand_path(File.dirname(__FILE__)), 'gemutilities') require 'rubygems/server' require 'stringio' diff --git a/test/rubygems/test_gem_source_index.rb b/test/rubygems/test_gem_source_index.rb index 7f379ef19a..48760292c0 100644 --- a/test/rubygems/test_gem_source_index.rb +++ b/test/rubygems/test_gem_source_index.rb @@ -4,7 +4,6 @@ # See LICENSE.txt for permissions. #++ -require 'test/unit' require File.join(File.expand_path(File.dirname(__FILE__)), 'gemutilities') require 'rubygems/source_index' require 'rubygems/config_file' @@ -150,7 +149,7 @@ WARNING: Invalid .gemspec format in '#{spec_file}' end use_ui @ui do - assert_raise Interrupt do + assert_raises Interrupt do Gem::SourceIndex.load_specification(spec_file) end end @@ -192,7 +191,7 @@ WARNING: Invalid .gemspec format in '#{spec_file}' end use_ui @ui do - assert_raise SystemExit do + assert_raises SystemExit do Gem::SourceIndex.load_specification(spec_file) end end @@ -232,7 +231,7 @@ WARNING: Invalid .gemspec format in '#{spec_file}' @fetcher.data["#{@gem_repo}yaml.Z"] = proc { raise SocketError } @fetcher.data["#{@gem_repo}yaml"] = proc { raise SocketError } - e = assert_raise Gem::RemoteSourceException do + e = assert_raises Gem::RemoteSourceException do use_ui @ui do @source_index.fetch_bulk_index @uri end @@ -357,7 +356,7 @@ WARNING: Invalid .gemspec format in '#{spec_file}' @fetcher.data["#{@gem_repo}quick/index.rz"] = proc { raise Exception } - e = assert_raise Gem::OperationNotSupportedError do + e = assert_raises Gem::OperationNotSupportedError do @source_index.fetch_quick_index @uri, true end @@ -613,7 +612,7 @@ WARNING: Invalid .gemspec format in '#{spec_file}' def test_refresh_bang_not_from_dir source_index = Gem::SourceIndex.new - e = assert_raise RuntimeError do + e = assert_raises RuntimeError do source_index.refresh! end diff --git a/test/rubygems/test_gem_source_info_cache.rb b/test/rubygems/test_gem_source_info_cache.rb index 744a51c154..2a4ee6922a 100644 --- a/test/rubygems/test_gem_source_info_cache.rb +++ b/test/rubygems/test_gem_source_info_cache.rb @@ -1,11 +1,9 @@ -#!/usr/bin/env ruby #-- # Copyright 2006 by Chad Fowler, Rich Kilmer, Jim Weirich and others. # All rights reserved. # See LICENSE.txt for permissions. #++ -require 'test/unit' require File.join(File.expand_path(File.dirname(__FILE__)), 'gemutilities') require 'rubygems/source_info_cache' @@ -49,7 +47,7 @@ class TestGemSourceInfoCache < RubyGemTestCase Gem.sources.replace %W[#{@gem_repo}] use_ui @ui do - assert_not_nil Gem::SourceInfoCache.cache + refute_nil Gem::SourceInfoCache.cache assert_kind_of Gem::SourceInfoCache, Gem::SourceInfoCache.cache assert_equal Gem::SourceInfoCache.cache.object_id, Gem::SourceInfoCache.cache.object_id @@ -68,11 +66,11 @@ class TestGemSourceInfoCache < RubyGemTestCase Gem.sources.replace %w[#{@gem_repo}] use_ui @ui do - assert_not_nil Gem::SourceInfoCache.cache + refute_nil Gem::SourceInfoCache.cache assert_kind_of Gem::SourceInfoCache, Gem::SourceInfoCache.cache assert_equal Gem::SourceInfoCache.cache.object_id, Gem::SourceInfoCache.cache.object_id - assert_no_match %r|Bulk updating|, @ui.output + refute_match %r|Bulk updating|, @ui.output end end @@ -147,7 +145,7 @@ class TestGemSourceInfoCache < RubyGemTestCase def test_cache_data_none_writable FileUtils.chmod 0444, @sic.system_cache_file FileUtils.chmod 0444, @sic.user_cache_file - e = assert_raise RuntimeError do + e = assert_raises RuntimeError do @sic.cache_data end assert_equal 'unable to locate a writable cache file', e.message @@ -202,7 +200,7 @@ class TestGemSourceInfoCache < RubyGemTestCase def test_cache_file_none_writable FileUtils.chmod 0444, @sic.system_cache_file FileUtils.chmod 0444, @sic.user_cache_file - e = assert_raise RuntimeError do + e = assert_raises RuntimeError do @sic.cache_file end assert_equal 'unable to locate a writable cache file', e.message diff --git a/test/rubygems/test_gem_source_info_cache_entry.rb b/test/rubygems/test_gem_source_info_cache_entry.rb index 6986c9cd7f..e1d61b8f6f 100644 --- a/test/rubygems/test_gem_source_info_cache_entry.rb +++ b/test/rubygems/test_gem_source_info_cache_entry.rb @@ -1,4 +1,3 @@ -require 'test/unit' require File.join(File.expand_path(File.dirname(__FILE__)), 'gemutilities') require 'rubygems/source_info_cache_entry' @@ -56,7 +55,7 @@ class TestGemSourceInfoCacheEntry < RubyGemTestCase end def test_refresh_bad_uri - assert_raise URI::BadURIError do + assert_raises URI::BadURIError do @sic_e.refresh 'gems.example.com', true end end diff --git a/test/rubygems/test_gem_spec_fetcher.rb b/test/rubygems/test_gem_spec_fetcher.rb index 8f3ab77bb8..774785be08 100644 --- a/test/rubygems/test_gem_spec_fetcher.rb +++ b/test/rubygems/test_gem_spec_fetcher.rb @@ -1,4 +1,3 @@ -require 'test/unit' require File.join(File.expand_path(File.dirname(__FILE__)), 'gemutilities') require 'rubygems/spec_fetcher' diff --git a/test/rubygems/test_gem_specification.rb b/test/rubygems/test_gem_specification.rb index 9c3b585c91..d40e6787cd 100644 --- a/test/rubygems/test_gem_specification.rb +++ b/test/rubygems/test_gem_specification.rb @@ -5,7 +5,6 @@ #++ require 'stringio' -require 'test/unit' require File.join(File.expand_path(File.dirname(__FILE__)), 'gemutilities') require 'rubygems/specification' @@ -336,8 +335,8 @@ end def test_equals2 assert_equal @a1, @a1 assert_equal @a1, @a1.dup - assert_not_equal @a1, @a2 - assert_not_equal @a1, Object.new + refute_equal @a1, @a2 + refute_equal @a1, Object.new end # The cgikit specification was reported to be causing trouble in at least @@ -369,16 +368,16 @@ end spec = @a1.dup spec.default_executable = 'xx' - assert_not_equal @a1, spec - assert_not_equal spec, @a1 + refute_equal @a1, spec + refute_equal spec, @a1 end def test_equals2_extensions spec = @a1.dup spec.extensions = 'xx' - assert_not_equal @a1, spec - assert_not_equal spec, @a1 + refute_equal @a1, spec + refute_equal spec, @a1 end def test_executables @@ -506,7 +505,7 @@ end def test_hash assert_equal @a1.hash, @a1.hash assert_equal @a1.hash, @a1.dup.hash - assert_not_equal @a1.hash, @a2.hash + refute_equal @a1.hash, @a2.hash end def test_lib_files @@ -815,7 +814,7 @@ end @a1.authors = [Object.new] - e = assert_raise Gem::InvalidSpecificationException do + e = assert_raises Gem::InvalidSpecificationException do @a1.validate end @@ -849,7 +848,7 @@ end end def test_validate_empty - e = assert_raise Gem::InvalidSpecificationException do + e = assert_raises Gem::InvalidSpecificationException do Gem::Specification.new.validate end @@ -872,7 +871,7 @@ end def test_validate_empty_require_paths @a1.require_paths = [] - e = assert_raise Gem::InvalidSpecificationException do + e = assert_raises Gem::InvalidSpecificationException do @a1.validate end @@ -932,7 +931,7 @@ end def test_validate_rubygems_version @a1.rubygems_version = "3" - e = assert_raise Gem::InvalidSpecificationException do + e = assert_raises Gem::InvalidSpecificationException do @a1.validate end diff --git a/test/rubygems/test_gem_stream_ui.rb b/test/rubygems/test_gem_stream_ui.rb index a8564ba94f..ffab8844cf 100644 --- a/test/rubygems/test_gem_stream_ui.rb +++ b/test/rubygems/test_gem_stream_ui.rb @@ -1,4 +1,3 @@ -require 'test/unit' require File.join(File.expand_path(File.dirname(__FILE__)), 'gemutilities') require 'rubygems/user_interaction' diff --git a/test/rubygems/test_gem_validator.rb b/test/rubygems/test_gem_validator.rb index c910cfdf11..77fdf2181a 100644 --- a/test/rubygems/test_gem_validator.rb +++ b/test/rubygems/test_gem_validator.rb @@ -4,7 +4,6 @@ # See LICENSE.txt for permissions. #++ -require 'test/unit' require File.join(File.expand_path(File.dirname(__FILE__)), 'gemutilities') require File.join(File.expand_path(File.dirname(__FILE__)), 'simple_gem') require 'rubygems/validator' @@ -26,7 +25,7 @@ class TestGemValidator < RubyGemTestCase end def test_verify_gem_file_empty - e = assert_raise Gem::VerificationError do + e = assert_raises Gem::VerificationError do @validator.verify_gem_file '' end @@ -35,7 +34,7 @@ class TestGemValidator < RubyGemTestCase def test_verify_gem_file_nonexistent file = '/nonexistent/nonexistent.gem' - e = assert_raise Gem::VerificationError do + e = assert_raises Gem::VerificationError do @validator.verify_gem_file file end @@ -47,7 +46,7 @@ class TestGemValidator < RubyGemTestCase end def test_verify_gem_empty - e = assert_raise Gem::VerificationError do + e = assert_raises Gem::VerificationError do @validator.verify_gem '' end @@ -55,7 +54,7 @@ class TestGemValidator < RubyGemTestCase end def test_verify_gem_invalid_checksum - e = assert_raise Gem::VerificationError do + e = assert_raises Gem::VerificationError do @validator.verify_gem @simple_gem.upcase end diff --git a/test/rubygems/test_gem_version.rb b/test/rubygems/test_gem_version.rb index 8d10700490..4f5f79eaad 100644 --- a/test/rubygems/test_gem_version.rb +++ b/test/rubygems/test_gem_version.rb @@ -4,7 +4,6 @@ # See LICENSE.txt for permissions. #++ -require 'test/unit' require File.join(File.expand_path(File.dirname(__FILE__)), 'gemutilities') require 'rubygems/version' @@ -29,10 +28,10 @@ class TestGemVersion < RubyGemTestCase end def test_class_create_malformed - e = assert_raise ArgumentError do Gem::Version.create("junk") end + e = assert_raises ArgumentError do Gem::Version.create("junk") end assert_equal "Malformed version number string junk", e.message - e = assert_raise ArgumentError do Gem::Version.create("1.0\n2.0") end + e = assert_raises ArgumentError do Gem::Version.create("1.0\n2.0") end assert_equal "Malformed version number string 1.0\n2.0", e.message end @@ -90,8 +89,8 @@ class TestGemVersion < RubyGemTestCase assert_equal v, @v1_2 assert_equal @v1_2, v - assert_not_equal @v1_2, @v1_3 - assert_not_equal @v1_3, @v1_2 + refute_equal @v1_2, @v1_3 + refute_equal @v1_3, @v1_2 end def test_hash @@ -100,16 +99,16 @@ class TestGemVersion < RubyGemTestCase assert_equal v1_2.hash, @v1_2.hash - assert_not_equal v1_2_0.hash, @v1_2.hash + refute_equal v1_2_0.hash, @v1_2.hash - assert_not_equal @v1_2.hash, @v1_3.hash + refute_equal @v1_2.hash, @v1_3.hash end def test_illformed_requirements [ ">>> 1.3.5", "> blah" ].each do |rq| - assert_raises(ArgumentError, "req [#{rq}] should fail") { - Gem::Version::Requirement.new(rq) - } + assert_raises ArgumentError, "req [#{rq}] should fail" do + Gem::Version::Requirement.new rq + end end end diff --git a/test/rubygems/test_gem_version_option.rb b/test/rubygems/test_gem_version_option.rb index 30c73390fe..3fda36ed68 100644 --- a/test/rubygems/test_gem_version_option.rb +++ b/test/rubygems/test_gem_version_option.rb @@ -1,4 +1,3 @@ -require 'test/unit' require File.join(File.expand_path(File.dirname(__FILE__)), 'gemutilities') require 'rubygems/command' require 'rubygems/version_option' diff --git a/test/rubygems/test_kernel.rb b/test/rubygems/test_kernel.rb index da31d772eb..ae594be65c 100644 --- a/test/rubygems/test_kernel.rb +++ b/test/rubygems/test_kernel.rb @@ -1,11 +1,9 @@ -#!/usr/bin/env ruby #-- # Copyright 2006 by Chad Fowler, Rich Kilmer, Jim Weirich and others. # All rights reserved. # See LICENSE.txt for permissions. #++ -require 'test/unit' require File.join(File.expand_path(File.dirname(__FILE__)), 'gemutilities') require 'rubygems/package' @@ -48,7 +46,7 @@ class TestKernel < RubyGemTestCase def test_gem_conflicting assert gem('a', '= 1'), "Should load" - ex = assert_raise Gem::Exception do + ex = assert_raises Gem::Exception do gem 'a', '= 2' end -- cgit v1.2.3