diff options
| author | Hiroshi SHIBATA <hsbt@ruby-lang.org> | 2023-07-19 14:12:03 +0900 |
|---|---|---|
| committer | nagachika <nagachika@ruby-lang.org> | 2023-08-29 23:25:18 +0900 |
| commit | dd91a17560946db1cb33c0ae1ecf3abe555ed1d0 (patch) | |
| tree | 898d7c4f4dd8a4d35e63219523e54cfade59dc26 /test | |
| parent | 5d568e18980b2fdec4701b52f2d89833fa20c0a8 (diff) | |
Merge RubyGems-3.4.11 and Bundler-2.4.11
Diffstat (limited to 'test')
| -rw-r--r-- | test/rubygems/helper.rb | 14 | ||||
| -rw-r--r-- | test/rubygems/test_bundled_ca.rb | 2 | ||||
| -rw-r--r-- | test/rubygems/test_config.rb | 2 | ||||
| -rw-r--r-- | test/rubygems/test_deprecate.rb | 2 | ||||
| -rw-r--r-- | test/rubygems/test_exit.rb | 2 | ||||
| -rw-r--r-- | test/rubygems/test_gem_ext_cargo_builder.rb | 1 | ||||
| -rw-r--r-- | test/rubygems/test_kernel.rb | 2 | ||||
| -rw-r--r-- | test/rubygems/test_project_sanity.rb | 35 | ||||
| -rw-r--r-- | test/rubygems/test_remote_fetch_error.rb | 2 | ||||
| -rw-r--r-- | test/rubygems/utilities.rb | 11 |
10 files changed, 61 insertions, 12 deletions
diff --git a/test/rubygems/helper.rb b/test/rubygems/helper.rb index 70b200d7a0..747fd92d0d 100644 --- a/test/rubygems/helper.rb +++ b/test/rubygems/helper.rb @@ -1180,6 +1180,20 @@ Also, a list: end ## + # Is this test being run on a version of Ruby built with mingw? + + def self.mingw_windows? + RUBY_PLATFORM.match("mingw") + end + + ## + # Is this test being run on a version of Ruby built with mingw? + + def mingw_windows? + RUBY_PLATFORM.match("mingw") + end + + ## # Is this test being run on a ruby/ruby repository? # diff --git a/test/rubygems/test_bundled_ca.rb b/test/rubygems/test_bundled_ca.rb index 3d7f616519..7151428c99 100644 --- a/test/rubygems/test_bundled_ca.rb +++ b/test/rubygems/test_bundled_ca.rb @@ -14,7 +14,7 @@ require "rubygems/request" # The tested hosts are explained in detail here: https://github.com/rubygems/rubygems/commit/5e16a5428f973667cabfa07e94ff939e7a83ebd9 # -class TestBundledCA < Gem::TestCase +class TestGemBundledCA < Gem::TestCase def bundled_certificate_store store = OpenSSL::X509::Store.new diff --git a/test/rubygems/test_config.rb b/test/rubygems/test_config.rb index d9e0f4dd9d..150004734d 100644 --- a/test/rubygems/test_config.rb +++ b/test/rubygems/test_config.rb @@ -3,7 +3,7 @@ require_relative "helper" require "rubygems" require "shellwords" -class TestConfig < Gem::TestCase +class TestGemConfig < Gem::TestCase def test_datadir util_make_gems spec = Gem::Specification.find_by_name("a") diff --git a/test/rubygems/test_deprecate.rb b/test/rubygems/test_deprecate.rb index dfcf8dea11..482f5d637f 100644 --- a/test/rubygems/test_deprecate.rb +++ b/test/rubygems/test_deprecate.rb @@ -2,7 +2,7 @@ require_relative "helper" require "rubygems/deprecate" -class TestDeprecate < Gem::TestCase +class TestGemDeprecate < Gem::TestCase def setup super diff --git a/test/rubygems/test_exit.rb b/test/rubygems/test_exit.rb index 707150efaa..396837edad 100644 --- a/test/rubygems/test_exit.rb +++ b/test/rubygems/test_exit.rb @@ -3,7 +3,7 @@ require_relative "helper" require "rubygems" -class TestExit < Gem::TestCase +class TestGemExit < Gem::TestCase def test_exit system(*ruby_with_rubygems_in_load_path, "-e", "raise Gem::SystemExitException.new(2)") assert_equal 2, $?.exitstatus diff --git a/test/rubygems/test_gem_ext_cargo_builder.rb b/test/rubygems/test_gem_ext_cargo_builder.rb index 3230ff3f21..5e087e688b 100644 --- a/test/rubygems/test_gem_ext_cargo_builder.rb +++ b/test/rubygems/test_gem_ext_cargo_builder.rb @@ -145,6 +145,7 @@ class TestGemExtCargoBuilder < Gem::TestCase system(@rust_envs, "cargo", "-V", out: IO::NULL, err: [:child, :out]) pend "cargo not present" unless $?.success? pend "ruby.h is not provided by ruby repo" if ruby_repo? + pend "rust toolchain of mingw is broken" if mingw_windows? end def assert_ffi_handle(bundle, name) diff --git a/test/rubygems/test_kernel.rb b/test/rubygems/test_kernel.rb index 959907444c..18d1b54743 100644 --- a/test/rubygems/test_kernel.rb +++ b/test/rubygems/test_kernel.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true require_relative "helper" -class TestKernel < Gem::TestCase +class TestGemKernel < Gem::TestCase def setup super diff --git a/test/rubygems/test_project_sanity.rb b/test/rubygems/test_project_sanity.rb index aff7c66413..7a7b779b08 100644 --- a/test/rubygems/test_project_sanity.rb +++ b/test/rubygems/test_project_sanity.rb @@ -3,13 +3,36 @@ require_relative "helper" require "open3" -class TestProjectSanity < Gem::TestCase +class TestGemProjectSanity < Gem::TestCase + def setup + end + + def teardown + end + def test_manifest_is_up_to_date - pend unless File.exist?(File.expand_path("../../Rakefile", __dir__)) + pend unless File.exist?("#{root}/Rakefile") _, status = Open3.capture2e("rake check_manifest") - assert status.success?, "Expected Manifest.txt to be up to date, but it's not. Run `rake update_manifest` to sync it." + unless status.success? + original_contents = File.read("#{root}/Manifest.txt") + + # Update the manifest to see if it fixes the problem + Open3.capture2e("rake update_manifest") + + out, status = Open3.capture2e("rake check_manifest") + + # If `rake update_manifest` fixed the problem, that was the original + # issue, otherwise it was an unknown error, so print the error output + if status.success? + File.write("#{root}/Manifest.txt", original_contents) + + raise "Expected Manifest.txt to be up to date, but it's not. Run `rake update_manifest` to sync it." + else + raise "There was an error running `rake check_manifest`: #{out}" + end + end end def test_require_rubygems_package @@ -17,4 +40,10 @@ class TestProjectSanity < Gem::TestCase assert status.success?, err end + + private + + def root + File.expand_path("../..", __dir__) + end end diff --git a/test/rubygems/test_remote_fetch_error.rb b/test/rubygems/test_remote_fetch_error.rb index 55c505d879..a31408c5d7 100644 --- a/test/rubygems/test_remote_fetch_error.rb +++ b/test/rubygems/test_remote_fetch_error.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true require_relative "helper" -class TestRemoteFetchError < Gem::TestCase +class TestGemRemoteFetchError < Gem::TestCase def test_password_redacted error = Gem::RemoteFetcher::FetchError.new("There was an error fetching", "https://user:secret@gemsource.org") refute_match %r{secret}, error.to_s diff --git a/test/rubygems/utilities.rb b/test/rubygems/utilities.rb index 8b9fa98e3d..33e50b3eb9 100644 --- a/test/rubygems/utilities.rb +++ b/test/rubygems/utilities.rb @@ -167,7 +167,7 @@ end # # Example: # -# HTTPResponseFactory.create( +# Gem::HTTPResponseFactory.create( # body: "", # code: 301, # msg: "Moved Permanently", @@ -175,7 +175,7 @@ end # ) # -class HTTPResponseFactory +class Gem::HTTPResponseFactory def self.create(body:, code:, msg:, headers: {}) response = Net::HTTPResponse.send(:response_class, code.to_s).new("1.0", code.to_s, msg) response.instance_variable_set(:@body, body) @@ -372,7 +372,7 @@ end # # This class was added to flush out problems in Rubinius' IO implementation. -class TempIO < Tempfile +class Gem::TempIO < Tempfile ## # Creates a new TempIO that will be initialized to contain +string+. @@ -391,3 +391,8 @@ class TempIO < Tempfile Gem.read_binary path end end + +class Gem::TestCase + TempIO = Gem::TempIO + HTTPResponseFactory = Gem::HTTPResponseFactory +end |
