summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorHiroshi SHIBATA <hsbt@ruby-lang.org>2023-07-19 14:12:03 +0900
committernagachika <nagachika@ruby-lang.org>2023-08-29 23:25:18 +0900
commitdd91a17560946db1cb33c0ae1ecf3abe555ed1d0 (patch)
tree898d7c4f4dd8a4d35e63219523e54cfade59dc26 /test
parent5d568e18980b2fdec4701b52f2d89833fa20c0a8 (diff)
Merge RubyGems-3.4.11 and Bundler-2.4.11
Diffstat (limited to 'test')
-rw-r--r--test/rubygems/helper.rb14
-rw-r--r--test/rubygems/test_bundled_ca.rb2
-rw-r--r--test/rubygems/test_config.rb2
-rw-r--r--test/rubygems/test_deprecate.rb2
-rw-r--r--test/rubygems/test_exit.rb2
-rw-r--r--test/rubygems/test_gem_ext_cargo_builder.rb1
-rw-r--r--test/rubygems/test_kernel.rb2
-rw-r--r--test/rubygems/test_project_sanity.rb35
-rw-r--r--test/rubygems/test_remote_fetch_error.rb2
-rw-r--r--test/rubygems/utilities.rb11
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