summaryrefslogtreecommitdiff
path: root/lib/rubygems/test_case.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/rubygems/test_case.rb')
-rw-r--r--lib/rubygems/test_case.rb64
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'