diff options
author | hsbt <hsbt@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-10-22 00:27:02 +0000 |
---|---|---|
committer | hsbt <hsbt@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-10-22 00:27:02 +0000 |
commit | 615ac3593499f54fde4b1eb0fba66b6bd944821b (patch) | |
tree | 1f0b0e97ee3dd51798658d53cee7eec976a83a97 /test | |
parent | ff31b35f6a66f3c1548e3356d506ff65a574be7f (diff) |
Merge rubygems master branch from github.com/rubygems/rubygems.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65294 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test')
-rw-r--r-- | test/rubygems/simple_gem.rb | 2 | ||||
-rw-r--r-- | test/rubygems/test_gem.rb | 19 | ||||
-rw-r--r-- | test/rubygems/test_gem_command_manager.rb | 4 | ||||
-rw-r--r-- | test/rubygems/test_gem_commands_build_command.rb | 79 | ||||
-rw-r--r-- | test/rubygems/test_gem_commands_cert_command.rb | 33 | ||||
-rw-r--r-- | test/rubygems/test_gem_commands_install_command.rb | 2 | ||||
-rw-r--r-- | test/rubygems/test_gem_commands_pristine_command.rb | 12 | ||||
-rw-r--r-- | test/rubygems/test_gem_commands_setup_command.rb | 2 | ||||
-rw-r--r-- | test/rubygems/test_gem_config_file.rb | 3 | ||||
-rw-r--r-- | test/rubygems/test_gem_dependency_list.rb | 4 | ||||
-rw-r--r-- | test/rubygems/test_gem_ext_rake_builder.rb | 19 | ||||
-rw-r--r-- | test/rubygems/test_gem_install_update_options.rb | 21 | ||||
-rw-r--r-- | test/rubygems/test_gem_path_support.rb | 20 | ||||
-rw-r--r-- | test/rubygems/test_gem_remote_fetcher.rb | 104 | ||||
-rw-r--r-- | test/rubygems/test_gem_source.rb | 12 | ||||
-rw-r--r-- | test/rubygems/test_gem_specification.rb | 12 | ||||
-rw-r--r-- | test/rubygems/test_gem_util.rb | 5 |
17 files changed, 174 insertions, 179 deletions
diff --git a/test/rubygems/simple_gem.rb b/test/rubygems/simple_gem.rb index 1650910aaf..0f2ea48198 100644 --- a/test/rubygems/simple_gem.rb +++ b/test/rubygems/simple_gem.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true -SIMPLE_GEM = <<-GEMDATA +SIMPLE_GEM = <<-GEMDATA.freeze MD5SUM = "989bf34a1cbecd52e0ea66b662b3a405" if $0 == __FILE__ require 'optparse' diff --git a/test/rubygems/test_gem.rb b/test/rubygems/test_gem.rb index ddf0f7e04c..ae271d8c99 100644 --- a/test/rubygems/test_gem.rb +++ b/test/rubygems/test_gem.rb @@ -14,7 +14,7 @@ end class TestGem < Gem::TestCase - PLUGINS_LOADED = [] + PLUGINS_LOADED = [] # rubocop:disable Style/MutableConstant def setup super @@ -1494,7 +1494,7 @@ class TestGem < Gem::TestCase if Gem::USE_BUNDLER_FOR_GEMDEPS BUNDLER_LIB_PATH = File.expand_path $LOAD_PATH.find {|lp| File.file?(File.join(lp, "bundler.rb")) }.dup.untaint - BUNDLER_FULL_NAME = "bundler-#{Bundler::VERSION}" + BUNDLER_FULL_NAME = "bundler-#{Bundler::VERSION}".freeze end def add_bundler_full_name(names) @@ -1757,19 +1757,20 @@ class TestGem < Gem::TestCase else platform = " #{platform}" end - expected = if Gem::USE_BUNDLER_FOR_GEMDEPS - <<-EXPECTED + expected = + if Gem::USE_BUNDLER_FOR_GEMDEPS + <<-EXPECTED Could not find gem 'a#{platform}' in any of the gem sources listed in your Gemfile. You may need to `gem install -g` to install missing gems - EXPECTED - else - <<-EXPECTED + EXPECTED + else + <<-EXPECTED Unable to resolve dependency: user requested 'a (>= 0)' You may need to `gem install -g` to install missing gems - EXPECTED - end + EXPECTED + end assert_output nil, expected do Gem.use_gemdeps diff --git a/test/rubygems/test_gem_command_manager.rb b/test/rubygems/test_gem_command_manager.rb index 51a14184ff..bb379427de 100644 --- a/test/rubygems/test_gem_command_manager.rb +++ b/test/rubygems/test_gem_command_manager.rb @@ -126,7 +126,7 @@ class TestGemCommandManager < Gem::TestCase #check settings check_options = nil @command_manager.process_args %w[ - install --force --local --rdoc --install-dir . + install --force --local --document=ri,rdoc --install-dir . --version 3.0 --no-wrapper --bindir . ] assert_equal %w[rdoc ri], check_options[:document].sort @@ -260,7 +260,7 @@ class TestGemCommandManager < Gem::TestCase #check settings check_options = nil - @command_manager.process_args %w[update --force --rdoc --install-dir .] + @command_manager.process_args %w[update --force --document=ri --install-dir .] assert_includes check_options[:document], 'ri' assert_equal true, check_options[:force] assert_equal Dir.pwd, check_options[:install_dir] diff --git a/test/rubygems/test_gem_commands_build_command.rb b/test/rubygems/test_gem_commands_build_command.rb index 8048f3e8f5..f7c92ebd7e 100644 --- a/test/rubygems/test_gem_commands_build_command.rb +++ b/test/rubygems/test_gem_commands_build_command.rb @@ -6,6 +6,12 @@ require 'rubygems/package' class TestGemCommandsBuildCommand < Gem::TestCase + CERT_FILE = cert_path 'public3072' + SIGNING_KEY = key_path 'private3072' + + EXPIRED_CERT_FILE = cert_path 'expired' + PRIVATE_KEY_FILE = key_path 'private' + def setup super @@ -50,6 +56,32 @@ class TestGemCommandsBuildCommand < Gem::TestCase util_test_build_gem @gem end + def test_execute_bad_name + [".", "-", "_"].each do |special_char| + gem = util_spec 'some_gem_with_bad_name' do |s| + s.name = "#{special_char}bad_gem_name" + s.license = 'AGPL-3.0' + s.files = ['README.md'] + end + + gemspec_file = File.join(@tempdir, gem.spec_name) + + File.open gemspec_file, 'w' do |gs| + gs.write gem.to_ruby + end + + @cmd.options[:args] = [gemspec_file] + + use_ui @ui do + Dir.chdir @tempdir do + assert_raises Gem::InvalidSpecificationException do + @cmd.execute + end + end + end + end + end + def test_execute_strict_without_warnings gemspec_file = File.join(@tempdir, @gem.spec_name) @@ -221,9 +253,6 @@ class TestGemCommandsBuildCommand < Gem::TestCase util_test_build_gem @gem end - CERT_FILE = cert_path 'public3072' - SIGNING_KEY = key_path 'private3072' - def test_build_signed_gem skip 'openssl is missing' unless defined?(OpenSSL::SSL) @@ -251,4 +280,48 @@ class TestGemCommandsBuildCommand < Gem::TestCase assert gem.verify end + def test_build_signed_gem_with_cert_expiration_length_days + skip 'openssl is missing' unless defined?(OpenSSL::SSL) + + gem_path = File.join Gem.user_home, ".gem" + Dir.mkdir gem_path + + trust_dir = Gem::Security.trust_dir + + tmp_expired_cert_file = File.join gem_path, "gem-public_cert.pem" + File.write(tmp_expired_cert_file, File.read(EXPIRED_CERT_FILE)) + + tmp_private_key_file = File.join gem_path, "gem-private_key.pem" + File.write(tmp_private_key_file, File.read(PRIVATE_KEY_FILE)) + + spec = util_spec 'some_gem' do |s| + s.signing_key = tmp_private_key_file + s.cert_chain = [tmp_expired_cert_file] + end + + gemspec_file = File.join(@tempdir, spec.spec_name) + + File.open gemspec_file, 'w' do |gs| + gs.write spec.to_ruby + end + + @cmd.options[:args] = [gemspec_file] + + Gem.configuration.cert_expiration_length_days = 28 + + use_ui @ui do + Dir.chdir @tempdir do + @cmd.execute + end + end + + re_signed_cert = OpenSSL::X509::Certificate.new(File.read(tmp_expired_cert_file)) + cert_days_to_expire = (re_signed_cert.not_after - re_signed_cert.not_before).to_i / (24 * 60 * 60) + + gem_file = File.join @tempdir, File.basename(spec.cache_file) + + assert File.exist?(gem_file) + assert_equal(28, cert_days_to_expire) + end + end diff --git a/test/rubygems/test_gem_commands_cert_command.rb b/test/rubygems/test_gem_commands_cert_command.rb index 3d9bbeb1df..97c081e110 100644 --- a/test/rubygems/test_gem_commands_cert_command.rb +++ b/test/rubygems/test_gem_commands_cert_command.rb @@ -159,7 +159,7 @@ Added '/CN=alternate/DC=example' @cmd.handle_options %W[ --build nobody@example.com --days 26 - ] + ] @build_ui = Gem::MockGemUi.new "#{passphrase}\n#{passphrase}" @@ -615,6 +615,37 @@ ERROR: --private-key not specified and ~/.gem/gem-private_key.pem does not exis assert_equal '', @ui.error end + def test_execute_re_sign_with_cert_expiration_length_days + gem_path = File.join Gem.user_home, ".gem" + Dir.mkdir gem_path + + path = File.join @tempdir, 'cert.pem' + Gem::Security.write EXPIRED_PUBLIC_CERT, path, 0600 + + assert_equal '/CN=nobody/DC=example', EXPIRED_PUBLIC_CERT.issuer.to_s + + tmp_expired_cert_file = File.join(Dir.tmpdir, File.basename(EXPIRED_PUBLIC_CERT_FILE)) + File.write(tmp_expired_cert_file, File.read(EXPIRED_PUBLIC_CERT_FILE)) + + @cmd.handle_options %W[ + --private-key #{PRIVATE_KEY_FILE} + --certificate #{tmp_expired_cert_file} + --re-sign + ] + + Gem.configuration.cert_expiration_length_days = 28 + + use_ui @ui do + @cmd.execute + end + + re_signed_cert = OpenSSL::X509::Certificate.new(File.read(tmp_expired_cert_file)) + cert_days_to_expire = (re_signed_cert.not_after - re_signed_cert.not_before).to_i / (24 * 60 * 60) + + assert_equal(28, cert_days_to_expire) + assert_equal '', @ui.error + end + def test_handle_options @cmd.handle_options %W[ --add #{PUBLIC_CERT_FILE} diff --git a/test/rubygems/test_gem_commands_install_command.rb b/test/rubygems/test_gem_commands_install_command.rb index bd7dcfc24e..b024c77c70 100644 --- a/test/rubygems/test_gem_commands_install_command.rb +++ b/test/rubygems/test_gem_commands_install_command.rb @@ -55,7 +55,7 @@ class TestGemCommandsInstallCommand < Gem::TestCase a2_pre = specs['a-2.a'] @cmd.handle_options [a2_pre.name, '--version', a2_pre.version.to_s, - "--no-ri", "--no-rdoc"] + "--no-document"] assert @cmd.options[:prerelease] assert @cmd.options[:version].satisfied_by?(a2_pre.version) diff --git a/test/rubygems/test_gem_commands_pristine_command.rb b/test/rubygems/test_gem_commands_pristine_command.rb index 4586159af6..5d7a267974 100644 --- a/test/rubygems/test_gem_commands_pristine_command.rb +++ b/test/rubygems/test_gem_commands_pristine_command.rb @@ -495,11 +495,13 @@ class TestGemCommandsPristineCommand < Gem::TestCase @cmd.execute end - assert_equal([ - "Restoring gems to pristine condition...", - "Skipped default-2.0.0.0, it is a default gem", - ], - @ui.output.split("\n")) + assert_equal( + [ + "Restoring gems to pristine condition...", + "Skipped default-2.0.0.0, it is a default gem", + ], + @ui.output.split("\n") + ) assert_empty(@ui.error) end diff --git a/test/rubygems/test_gem_commands_setup_command.rb b/test/rubygems/test_gem_commands_setup_command.rb index c243121efa..eabd023d96 100644 --- a/test/rubygems/test_gem_commands_setup_command.rb +++ b/test/rubygems/test_gem_commands_setup_command.rb @@ -10,7 +10,7 @@ class TestGemCommandsSetupCommand < Gem::TestCase if File.exist?(bundler_gemspec) BUNDLER_VERS = File.read(bundler_gemspec).match(/VERSION = "(#{Gem::Version::VERSION_PATTERN})"/)[1] else - BUNDLER_VERS = "1.16.2" + BUNDLER_VERS = "1.16.2".freeze end def setup diff --git a/test/rubygems/test_gem_config_file.rb b/test/rubygems/test_gem_config_file.rb index e09a76ef98..5749905b5a 100644 --- a/test/rubygems/test_gem_config_file.rb +++ b/test/rubygems/test_gem_config_file.rb @@ -44,6 +44,7 @@ class TestGemConfigFile < Gem::TestCase assert_equal Gem::ConfigFile::DEFAULT_BULK_THRESHOLD, @cfg.bulk_threshold assert_equal true, @cfg.verbose assert_equal [@gem_repo], Gem.sources + assert_equal 365, @cfg.cert_expiration_length_days File.open @temp_conf, 'w' do |fp| fp.puts ":backtrace: true" @@ -58,6 +59,7 @@ class TestGemConfigFile < Gem::TestCase fp.puts "- /var/ruby/1.8/gem_home" fp.puts ":ssl_verify_mode: 0" fp.puts ":ssl_ca_cert: /etc/ssl/certs" + fp.puts ":cert_expiration_length_days: 28" end util_config_file @@ -71,6 +73,7 @@ class TestGemConfigFile < Gem::TestCase @cfg.path) assert_equal 0, @cfg.ssl_verify_mode assert_equal '/etc/ssl/certs', @cfg.ssl_ca_cert + assert_equal 28, @cfg.cert_expiration_length_days end def test_initialize_handle_arguments_config_file diff --git a/test/rubygems/test_gem_dependency_list.rb b/test/rubygems/test_gem_dependency_list.rb index 0533a5f342..7ba91be95f 100644 --- a/test/rubygems/test_gem_dependency_list.rb +++ b/test/rubygems/test_gem_dependency_list.rb @@ -136,8 +136,8 @@ class TestGemDependencyList < Gem::TestCase exp = { "b" => [ - Gem::Dependency.new("a", ">= 1") - ] + Gem::Dependency.new("a", ">= 1") + ] } assert_equal exp, @deplist.why_not_ok? diff --git a/test/rubygems/test_gem_ext_rake_builder.rb b/test/rubygems/test_gem_ext_rake_builder.rb index 6141f9bc59..6b647293a8 100644 --- a/test/rubygems/test_gem_ext_rake_builder.rb +++ b/test/rubygems/test_gem_ext_rake_builder.rb @@ -26,7 +26,7 @@ class TestGemExtRakeBuilder < Gem::TestCase 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 + assert_match %r%^#{Regexp.escape rake} RUBYARCHDIR\\=#{Regexp.escape @dest_path} RUBYLIBDIR\\=#{Regexp.escape @dest_path}%, output end end @@ -47,7 +47,22 @@ class TestGemExtRakeBuilder < Gem::TestCase 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 + assert_match %r%^#{Regexp.escape rake} RUBYARCHDIR\\=#{Regexp.escape @dest_path} RUBYLIBDIR\\=#{Regexp.escape @dest_path}%, output + end + end + + def test_class_build_no_mkrf_passes_args + output = [] + + build_rake_in do |rake| + Dir.chdir @ext do + Gem::Ext::RakeBuilder.build "ext/Rakefile", @dest_path, output, ["test1", "test2"] + end + + output = output.join "\n" + + refute_match %r%^rake failed:%, output + assert_match %r%^#{Regexp.escape rake} RUBYARCHDIR\\=#{Regexp.escape @dest_path} RUBYLIBDIR\\=#{Regexp.escape @dest_path} test1 test2%, output end end diff --git a/test/rubygems/test_gem_install_update_options.rb b/test/rubygems/test_gem_install_update_options.rb index 2a85a279a4..65eaf7275f 100644 --- a/test/rubygems/test_gem_install_update_options.rb +++ b/test/rubygems/test_gem_install_update_options.rb @@ -21,8 +21,7 @@ class TestGemInstallUpdateOptions < Gem::InstallerTestCase --build-root build_root --format-exec --ignore-dependencies - --rdoc - --ri + --document -E -f -i /install_to @@ -92,24 +91,6 @@ class TestGemInstallUpdateOptions < Gem::InstallerTestCase assert_equal %w[ri], @cmd.options[:document] end - def test_rdoc - @cmd.handle_options %w[--rdoc] - - assert_equal %w[rdoc ri], @cmd.options[:document].sort - end - - def test_rdoc_no - @cmd.handle_options %w[--no-rdoc] - - assert_equal %w[ri], @cmd.options[:document] - end - - def test_ri - @cmd.handle_options %w[--no-ri] - - assert_equal %w[], @cmd.options[:document] - end - def test_security_policy skip 'openssl is missing' unless defined?(OpenSSL::SSL) diff --git a/test/rubygems/test_gem_path_support.rb b/test/rubygems/test_gem_path_support.rb index 90d50a269f..551ec28781 100644 --- a/test/rubygems/test_gem_path_support.rb +++ b/test/rubygems/test_gem_path_support.rb @@ -44,10 +44,10 @@ class TestGemPathSupport < Gem::TestCase assert_equal ENV["GEM_HOME"], ps.home expected = [ - File.join(@tempdir, 'foo'), - File.join(@tempdir, 'bar'), - ENV["GEM_HOME"], - ] + File.join(@tempdir, 'foo'), + File.join(@tempdir, 'bar'), + ENV["GEM_HOME"], + ] assert_equal expected, ps.path end @@ -63,9 +63,9 @@ class TestGemPathSupport < Gem::TestCase assert_equal ENV["GEM_HOME"], ps.home expected = [ - File.join(@tempdir, 'foo'), - File.join(@tempdir, 'bar'), - ] + Gem.default_path << ENV["GEM_HOME"] + File.join(@tempdir, 'foo'), + File.join(@tempdir, 'bar'), + ] + Gem.default_path << ENV["GEM_HOME"] assert_equal expected, ps.path end @@ -81,9 +81,9 @@ class TestGemPathSupport < Gem::TestCase assert_equal ENV["GEM_HOME"], ps.home expected = [ - File.join(@tempdir, 'foo'), - File.join(@tempdir, 'bar'), - ] + Gem.default_path << ENV["GEM_HOME"] + File.join(@tempdir, 'foo'), + File.join(@tempdir, 'bar'), + ] + Gem.default_path << ENV["GEM_HOME"] assert_equal expected, ps.path end diff --git a/test/rubygems/test_gem_remote_fetcher.rb b/test/rubygems/test_gem_remote_fetcher.rb index dfef55c7ca..0c4367d417 100644 --- a/test/rubygems/test_gem_remote_fetcher.rb +++ b/test/rubygems/test_gem_remote_fetcher.rb @@ -35,7 +35,7 @@ class TestGemRemoteFetcher < Gem::TestCase include Gem::DefaultUserInteraction - SERVER_DATA = <<-EOY + SERVER_DATA = <<-EOY.freeze --- !ruby/object:Gem::Cache gems: rake-0.4.11: !ruby/object:Gem::Specification @@ -185,106 +185,6 @@ PeIQQkFng2VVot/WAQbv3ePqWq07g1BBcwIBAg== end end - def test_api_endpoint - uri = URI.parse "http://example.com/foo" - target = MiniTest::Mock.new - target.expect :target, "gems.example.com" - - dns = MiniTest::Mock.new - dns.expect :getresource, target, [String, Object] - - fetch = Gem::RemoteFetcher.new nil, dns - assert_equal URI.parse("http://gems.example.com/foo"), fetch.api_endpoint(uri) - - target.verify - dns.verify - end - - def test_api_endpoint_ignores_trans_domain_values - uri = URI.parse "http://gems.example.com/foo" - target = MiniTest::Mock.new - target.expect :target, "blah.com" - - dns = MiniTest::Mock.new - dns.expect :getresource, target, [String, Object] - - fetch = Gem::RemoteFetcher.new nil, dns - assert_equal URI.parse("http://gems.example.com/foo"), fetch.api_endpoint(uri) - - target.verify - dns.verify - end - - def test_api_endpoint_ignores_trans_domain_values_that_starts_with_original - uri = URI.parse "http://example.com/foo" - target = MiniTest::Mock.new - target.expect :target, "example.combadguy.com" - - dns = MiniTest::Mock.new - dns.expect :getresource, target, [String, Object] - - fetch = Gem::RemoteFetcher.new nil, dns - assert_equal URI.parse("http://example.com/foo"), fetch.api_endpoint(uri) - - target.verify - dns.verify - end - - def test_api_endpoint_ignores_trans_domain_values_that_end_with_original - uri = URI.parse "http://example.com/foo" - target = MiniTest::Mock.new - target.expect :target, "badexample.com" - - dns = MiniTest::Mock.new - dns.expect :getresource, target, [String, Object] - - fetch = Gem::RemoteFetcher.new nil, dns - assert_equal URI.parse("http://example.com/foo"), fetch.api_endpoint(uri) - - target.verify - dns.verify - end - - def test_api_endpoint_ignores_trans_domain_values_that_end_with_original_in_path - uri = URI.parse "http://example.com/foo" - target = MiniTest::Mock.new - target.expect :target, "evil.com/a.example.com" - - dns = MiniTest::Mock.new - dns.expect :getresource, target, [String, Object] - - fetch = Gem::RemoteFetcher.new nil, dns - assert_equal URI.parse("http://example.com/foo"), fetch.api_endpoint(uri) - - target.verify - dns.verify - end - - def test_api_endpoint_timeout_warning - uri = URI.parse "http://gems.example.com/foo" - - dns = MiniTest::Mock.new - def dns.getresource arg, *rest - raise Resolv::ResolvError.new('timeout!') - end - - fetch = Gem::RemoteFetcher.new nil, dns - begin - old_verbose, Gem.configuration.verbose = Gem.configuration.verbose, 1 - endpoint = use_ui @stub_ui do - fetch.api_endpoint(uri) - end - ensure - Gem.configuration.verbose = old_verbose - end - - assert_equal uri, endpoint - - assert_equal "Getting SRV record failed: timeout!\n", @stub_ui.output - - dns.verify - end - def test_cache_update_path uri = URI 'http://example/file' path = File.join @tempdir, 'file' @@ -1064,7 +964,7 @@ PeIQQkFng2VVot/WAQbv3ePqWq07g1BBcwIBAg== :DocumentRoot => nil, :Logger => null_logger, :AccessLog => null_logger - ) + ) s.mount_proc("/kill") { |req, res| s.shutdown } s.mount_proc("/yaml") { |req, res| if req["X-Captain"] diff --git a/test/rubygems/test_gem_source.rb b/test/rubygems/test_gem_source.rb index 8805a9b404..a969aae9ed 100644 --- a/test/rubygems/test_gem_source.rb +++ b/test/rubygems/test_gem_source.rb @@ -36,18 +36,6 @@ class TestGemSource < Gem::TestCase assert_equal repository, source.uri end - def test_api_uri - assert_equal @source.api_uri, @source.uri - end - - def test_api_uri_resolved_from_remote_fetcher - uri = URI.parse "http://gem.example/foo" - @fetcher.api_endpoints[uri] = URI.parse "http://api.blah" - - src = Gem::Source.new uri - assert_equal URI.parse("http://api.blah"), src.api_uri - end - def test_cache_dir_escapes_windows_paths uri = URI.parse("file:///C:/WINDOWS/Temp/gem_repo") root = Gem.spec_cache_dir diff --git a/test/rubygems/test_gem_specification.rb b/test/rubygems/test_gem_specification.rb index f8bb30d635..0a7531af53 100644 --- a/test/rubygems/test_gem_specification.rb +++ b/test/rubygems/test_gem_specification.rb @@ -9,7 +9,7 @@ require 'rubygems/installer' class TestGemSpecification < Gem::TestCase - LEGACY_YAML_SPEC = <<-EOF + LEGACY_YAML_SPEC = <<-EOF.freeze --- !ruby/object:Gem::Specification rubygems_version: "1.0" name: keyedlist @@ -28,7 +28,7 @@ email: flgr@ccan.de has_rdoc: true EOF - LEGACY_RUBY_SPEC = <<-EOF + LEGACY_RUBY_SPEC = <<-EOF.freeze Gem::Specification.new do |s| s.name = %q{keyedlist} s.version = %q{0.4.0} @@ -3428,10 +3428,10 @@ Did you mean 'Ruby'? end expected = %W[ - a-2 - a-2-x86-my_platform-1 - a-3-x86-other_platform-1 - ] + a-2 + a-2-x86-my_platform-1 + a-3-x86-other_platform-1 + ] latest_specs = Gem::Specification.latest_specs.map(&:full_name).sort diff --git a/test/rubygems/test_gem_util.rb b/test/rubygems/test_gem_util.rb index d17fc77fd9..59f042c8f2 100644 --- a/test/rubygems/test_gem_util.rb +++ b/test/rubygems/test_gem_util.rb @@ -5,7 +5,8 @@ require 'rubygems/util' class TestGemUtil < Gem::TestCase def test_class_popen - assert_equal "0\n", Gem::Util.popen(Gem.ruby, '-e', 'p 0') + skip "MJIT executes process and it's caught by Process.wait(-1)" if defined?(RubyVM::MJIT) && RubyVM::MJIT.enabled? + assert_equal "0\n", Gem::Util.popen(Gem.ruby, '-I', File.expand_path('../../../lib', __FILE__), '-e', 'p 0') assert_raises Errno::ECHILD do Process.wait(-1) @@ -14,7 +15,7 @@ class TestGemUtil < Gem::TestCase def test_silent_system assert_silent do - Gem::Util.silent_system Gem.ruby, '-e', 'puts "hello"; warn "hello"' + Gem::Util.silent_system Gem.ruby, '-I', File.expand_path('../../../lib', __FILE__), '-e', 'puts "hello"; warn "hello"' end end |