diff options
Diffstat (limited to 'lib/rubygems/test_case.rb')
-rw-r--r-- | lib/rubygems/test_case.rb | 64 |
1 files changed, 36 insertions, 28 deletions
diff --git a/lib/rubygems/test_case.rb b/lib/rubygems/test_case.rb index 783e8956a1..5f2bbd7b86 100644 --- a/lib/rubygems/test_case.rb +++ b/lib/rubygems/test_case.rb @@ -1,12 +1,6 @@ # frozen_string_literal: true # TODO: $SAFE = 1 -begin - gem 'minitest', '~> 5.0' -rescue NoMethodError, Gem::LoadError - # for ruby tests -end - if defined? Gem::QuickLoader Gem::QuickLoader.load_full_rubygems_library else @@ -23,7 +17,7 @@ if File.exist?(bundler_gemspec) end begin - gem 'minitest' + gem 'minitest', '~> 5.0' rescue Gem::LoadError end @@ -115,6 +109,8 @@ class Gem::TestCase < (defined?(Minitest::Test) ? Minitest::Test : MiniTest::Uni attr_accessor :uri # :nodoc: + TEST_PATH = ENV.fetch('RUBYGEMS_TEST_PATH', File.expand_path('../../../test/rubygems', __FILE__)) + def assert_activate(expected, *specs) specs.each do |spec| case spec @@ -191,19 +187,19 @@ class Gem::TestCase < (defined?(Minitest::Test) ? Minitest::Test : MiniTest::Uni def assert_contains_make_command(target, output, msg = nil) if output.match(/\n/) - msg = message(msg) { + msg = message(msg) do 'Expected output containing make command "%s": %s' % [ ('%s %s' % [make_command, target]).rstrip, output.inspect ] - } + end else - msg = message(msg) { + msg = message(msg) do 'Expected make command "%s": %s' % [ ('%s %s' % [make_command, target]).rstrip, output.inspect ] - } + end end assert scan_make_command_lines(output).any? { |line| @@ -260,7 +256,7 @@ class Gem::TestCase < (defined?(Minitest::Test) ? Minitest::Test : MiniTest::Uni @fetcher = nil if Gem::USE_BUNDLER_FOR_GEMDEPS - Bundler.ui = Bundler::UI::Silent.new + Bundler.ui = Bundler::UI::Silent.new end @back_ui = Gem::DefaultUserInteraction.ui @ui = Gem::MockGemUi.new @@ -316,7 +312,7 @@ class Gem::TestCase < (defined?(Minitest::Test) ? Minitest::Test : MiniTest::Uni Gem.ensure_gem_subdirectories @gemhome @orig_LOAD_PATH = $LOAD_PATH.dup - $LOAD_PATH.map! { |s| + $LOAD_PATH.map! do |s| expand_path = File.expand_path(s) if expand_path != s expand_path.untaint @@ -327,7 +323,7 @@ class Gem::TestCase < (defined?(Minitest::Test) ? Minitest::Test : MiniTest::Uni s = expand_path end s - } + end Dir.chdir @tempdir @@ -599,11 +595,11 @@ class Gem::TestCase < (defined?(Minitest::Test) ? Minitest::Test : MiniTest::Uni def uninstall_gem(spec) require 'rubygems/uninstaller' - Class.new(Gem::Uninstaller) { + Class.new(Gem::Uninstaller) do def ask_if_ok(spec) true end - }.new(spec.name, :executables => true, :user_install => true).uninstall + end.new(spec.name, :executables => true, :user_install => true).uninstall end ## @@ -612,7 +608,11 @@ class Gem::TestCase < (defined?(Minitest::Test) ? Minitest::Test : MiniTest::Uni def create_tmpdir tmpdir = nil - Dir.chdir Dir.tmpdir do tmpdir = Dir.pwd end # HACK OSX /private/tmp + + Dir.chdir Dir.tmpdir do + tmpdir = Dir.pwd + end # HACK OSX /private/tmp + tmpdir = File.join tmpdir, "test_rubygems_#{$$}" FileUtils.mkdir_p tmpdir return tmpdir @@ -723,7 +723,10 @@ class Gem::TestCase < (defined?(Minitest::Test) ? Minitest::Test : MiniTest::Uni 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 + + File.open file, 'w' do |fp| + fp.puts "# #{file}" + end end use_ui Gem::MockGemUi.new do @@ -751,6 +754,11 @@ class Gem::TestCase < (defined?(Minitest::Test) ? Minitest::Test : MiniTest::Uni Gem::Specification.reset end + def util_clear_default_gems + FileUtils.rm_rf @default_spec_dir + FileUtils.mkdir @default_spec_dir + end + ## # Install the provided specs @@ -1017,7 +1025,7 @@ Also, a list: s.add_dependency 'x', '>= 1' end - @pl1 = quick_gem 'pl', '1' do |s| # l for legacy + @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' @@ -1339,6 +1347,7 @@ Also, a list: end class << self + # :nodoc: ## # Return the join path, with escaping backticks, dollars, and @@ -1352,12 +1361,12 @@ Also, a list: "\"#{path.gsub(/[`$"]/, '\\&')}\"" end end + end @@ruby = rubybin - gempath = File.expand_path('../../../test/rubygems', __FILE__) - @@good_rake = "#{rubybin} #{escape_path(gempath, 'good_rake.rb')}" - @@bad_rake = "#{rubybin} #{escape_path(gempath, 'bad_rake.rb')}" + @@good_rake = "#{rubybin} #{escape_path(TEST_PATH, 'good_rake.rb')}" + @@bad_rake = "#{rubybin} #{escape_path(TEST_PATH, 'bad_rake.rb')}" ## # Construct a new Gem::Dependency. @@ -1526,6 +1535,7 @@ Also, a list: def prefetch(reqs) # :nodoc: end + end ## @@ -1545,14 +1555,12 @@ Also, a list: def self.cert_path(cert_name) if 32 == (Time.at(2**32) rescue 32) - cert_file = - File.expand_path "../../../test/rubygems/#{cert_name}_cert_32.pem", - __FILE__ + cert_file = "#{TEST_PATH}/#{cert_name}_cert_32.pem" return cert_file if File.exist? cert_file end - File.expand_path "../../../test/rubygems/#{cert_name}_cert.pem", __FILE__ + "#{TEST_PATH}/#{cert_name}_cert.pem" end ## @@ -1570,13 +1578,13 @@ Also, a list: # Returns the path to the key named +key_name+ from <tt>test/rubygems</tt> def self.key_path(key_name) - File.expand_path "../../../test/rubygems/#{key_name}_key.pem", __FILE__ + "#{TEST_PATH}/#{key_name}_key.pem" end # :stopdoc: # only available in RubyGems tests - PRIVATE_KEY_PASSPHRASE = 'Foo bar'.freeze + PRIVATE_KEY_PASSPHRASE = 'Foo bar'.freeze begin PRIVATE_KEY = load_key 'private' |