diff options
author | Hiroshi SHIBATA <[email protected]> | 2021-12-23 09:21:36 +0900 |
---|---|---|
committer | Hiroshi SHIBATA <[email protected]> | 2021-12-23 09:44:45 +0900 |
commit | fb1ab27f535833f1ba1648d7cdce4cc893e36d07 (patch) | |
tree | fab2ac1a60ba75a8e897d6077c8234af2fd77900 /test | |
parent | feaf4fbc3fa16382fbd07158c448c7b5bdae78b5 (diff) |
Merge RubyGems-3.3.1 and Bundler-2.3.1
Notes
Notes:
Merged: https://github.com/ruby/ruby/pull/5325
Diffstat (limited to 'test')
-rw-r--r-- | test/rubygems/test_gem.rb | 35 | ||||
-rw-r--r-- | test/rubygems/test_gem_bundler_version_finder.rb | 65 | ||||
-rw-r--r-- | test/rubygems/test_gem_dependency.rb | 12 | ||||
-rw-r--r-- | test/rubygems/test_kernel.rb | 14 | ||||
-rw-r--r-- | test/rubygems/test_require.rb | 25 |
5 files changed, 27 insertions, 124 deletions
diff --git a/test/rubygems/test_gem.rb b/test/rubygems/test_gem.rb index f0f36b5561..970b3b70dd 100644 --- a/test/rubygems/test_gem.rb +++ b/test/rubygems/test_gem.rb @@ -354,41 +354,6 @@ class TestGem < Gem::TestCase assert status.success?, output end - def test_activate_bin_path_gives_proper_error_for_bundler - bundler = util_spec 'bundler', '2' do |s| - s.executables = ['bundle'] - end - - install_specs bundler - - File.open("Gemfile.lock", "w") do |f| - f.write <<-L.gsub(/ {8}/, "") - GEM - remote: https://rubygems.org/ - specs: - - PLATFORMS - ruby - - DEPENDENCIES - - BUNDLED WITH - 9999 - L - end - - File.open("Gemfile", "w") {|f| f.puts('source "https://rubygems.org"') } - - e = assert_raise Gem::GemNotFoundException do - load Gem.activate_bin_path("bundler", "bundle", ">= 0.a") - end - - assert_includes e.message, "Could not find 'bundler' (9999) required by your #{File.expand_path("Gemfile.lock")}." - assert_includes e.message, "To update to the latest version installed on your system, run `bundle update --bundler`." - assert_includes e.message, "To install the missing version, run `gem install bundler:9999`" - refute_includes e.message, "can't find gem bundler (>= 0.a) with executable bundle" - end - def test_activate_bin_path_selects_exact_bundler_version_if_present bundler_latest = util_spec 'bundler', '2.0.1' do |s| s.executables = ['bundle'] diff --git a/test/rubygems/test_gem_bundler_version_finder.rb b/test/rubygems/test_gem_bundler_version_finder.rb index e971e6ae29..7494a94d6e 100644 --- a/test/rubygems/test_gem_bundler_version_finder.rb +++ b/test/rubygems/test_gem_bundler_version_finder.rb @@ -48,30 +48,31 @@ class TestGemBundlerVersionFinder < Gem::TestCase end def test_bundler_version_with_lockfile - bvf.stub(:lockfile_contents, [nil, ""]) do + bvf.stub(:lockfile_contents, "") do assert_nil bvf.bundler_version end - bvf.stub(:lockfile_contents, [nil, "\n\nBUNDLED WITH\n 1.1.1.1\n"]) do + bvf.stub(:lockfile_contents, "\n\nBUNDLED WITH\n 1.1.1.1\n") do assert_equal v("1.1.1.1"), bvf.bundler_version end - bvf.stub(:lockfile_contents, [nil, "\n\nBUNDLED WITH\n fjdkslfjdkslfjsldk\n"]) do + bvf.stub(:lockfile_contents, "\n\nBUNDLED WITH\n fjdkslfjdkslfjsldk\n") do assert_nil bvf.bundler_version end end - def test_bundler_version_with_reason - assert_nil bvf.bundler_version_with_reason - bvf.stub(:lockfile_contents, [nil, "\n\nBUNDLED WITH\n 1.1.1.1\n"]) do - assert_equal ["1.1.1.1", "your lockfile"], bvf.bundler_version_with_reason + def test_bundler_version + assert_nil bvf.bundler_version + bvf.stub(:lockfile_contents, "\n\nBUNDLED WITH\n 1.1.1.1\n") do + assert_equal "1.1.1.1", bvf.bundler_version.to_s $0 = "bundle" ARGV.replace %w[update --bundler] - assert_nil bvf.bundler_version_with_reason + assert_nil bvf.bundler_version + ARGV.replace %w[update --bundler=1.1.1.2] - assert_equal ["1.1.1.2", "`bundle update --bundler`"], bvf.bundler_version_with_reason + assert_equal "1.1.1.2", bvf.bundler_version.to_s ENV["BUNDLER_VERSION"] = "1.1.1.3" - assert_equal ["1.1.1.3", "`$BUNDLER_VERSION`"], bvf.bundler_version_with_reason + assert_equal "1.1.1.3", bvf.bundler_version.to_s end end @@ -90,57 +91,35 @@ class TestGemBundlerVersionFinder < Gem::TestCase Dir.chdir(orig_dir) end - assert_nil bvf.bundler_version_with_reason - end - - def test_compatible - assert bvf.compatible?(util_spec("foo")) - assert bvf.compatible?(util_spec("bundler", 1.1)) - - bvf.stub(:bundler_version, v("1.1.1.1")) do - assert bvf.compatible?(util_spec("foo")) - assert bvf.compatible?(util_spec("bundler", "1.1.1.1")) - assert bvf.compatible?(util_spec("bundler", "1.1.1.a")) - assert bvf.compatible?(util_spec("bundler", "1.999")) - refute bvf.compatible?(util_spec("bundler", "2.999")) - end - - bvf.stub(:bundler_version, v("2.1.1.1")) do - assert bvf.compatible?(util_spec("foo")) - assert bvf.compatible?(util_spec("bundler", "2.1.1.1")) - assert bvf.compatible?(util_spec("bundler", "2.1.1.a")) - assert bvf.compatible?(util_spec("bundler", "2.999")) - refute bvf.compatible?(util_spec("bundler", "1.999")) - refute bvf.compatible?(util_spec("bundler", "3.0.0")) - end + assert_nil bvf.bundler_version end - def test_filter + def test_prioritize versions = %w[1 1.0 1.0.1.1 2 2.a 2.0 2.1.1 3 3.a 3.0 3.1.1] specs = versions.map {|v| util_spec("bundler", v) } - assert_equal %w[1 1.0 1.0.1.1 2 2.a 2.0 2.1.1 3 3.a 3.0 3.1.1], util_filter_specs(specs).map(&:version).map(&:to_s) + assert_equal %w[1 1.0 1.0.1.1 2 2.a 2.0 2.1.1 3 3.a 3.0 3.1.1], util_prioritize_specs(specs) bvf.stub(:bundler_version, v("2.1.1.1")) do - assert_equal %w[2 2.a 2.0 2.1.1], util_filter_specs(specs).map(&:version).map(&:to_s) + assert_equal %w[1 1.0 1.0.1.1 2 2.a 2.0 2.1.1 3 3.a 3.0 3.1.1], util_prioritize_specs(specs) end bvf.stub(:bundler_version, v("1.1.1.1")) do - assert_equal %w[1 1.0 1.0.1.1], util_filter_specs(specs).map(&:version).map(&:to_s) + assert_equal %w[1 1.0 1.0.1.1 2 2.a 2.0 2.1.1 3 3.a 3.0 3.1.1], util_prioritize_specs(specs) end bvf.stub(:bundler_version, v("1")) do - assert_equal %w[1 1.0 1.0.1.1], util_filter_specs(specs).map(&:version).map(&:to_s) + assert_equal %w[1 1.0 1.0.1.1 2 2.a 2.0 2.1.1 3 3.a 3.0 3.1.1], util_prioritize_specs(specs) end bvf.stub(:bundler_version, v("2.a")) do - assert_equal %w[2.a 2 2.0 2.1.1], util_filter_specs(specs).map(&:version).map(&:to_s) + assert_equal %w[2.a 1 1.0 1.0.1.1 2 2.0 2.1.1 3 3.a 3.0 3.1.1], util_prioritize_specs(specs) end bvf.stub(:bundler_version, v("3")) do - assert_equal %w[3 3.a 3.0 3.1.1], util_filter_specs(specs).map(&:version).map(&:to_s) + assert_equal %w[3 1 1.0 1.0.1.1 2 2.a 2.0 2.1.1 3.a 3.0 3.1.1], util_prioritize_specs(specs) end end - def util_filter_specs(specs) + def util_prioritize_specs(specs) specs = specs.dup - bvf.filter!(specs) - specs + bvf.prioritize!(specs) + specs.map(&:version).map(&:to_s) end end diff --git a/test/rubygems/test_gem_dependency.rb b/test/rubygems/test_gem_dependency.rb index 1ca0fc378c..5551966da2 100644 --- a/test/rubygems/test_gem_dependency.rb +++ b/test/rubygems/test_gem_dependency.rb @@ -358,16 +358,12 @@ class TestGemDependency < Gem::TestCase assert_equal [b, b_1], dep.to_specs - Gem::BundlerVersionFinder.stub(:bundler_version_with_reason, ["3.5", "reason"]) do - e = assert_raise Gem::MissingSpecVersionError do - dep.to_specs - end - - assert_match "Could not find 'bundler' (3.5) required by reason.\nTo update to the latest version installed on your system, run `bundle update --bundler`.\nTo install the missing version, run `gem install bundler:3.5`\n", e.message + Gem::BundlerVersionFinder.stub(:bundler_version, Gem::Version.new("1")) do + assert_equal [b_1, b], dep.to_specs end - Gem::BundlerVersionFinder.stub(:bundler_version_with_reason, ["2.0.0.pre.1", "reason"]) do - assert_equal [b], dep.to_specs + Gem::BundlerVersionFinder.stub(:bundler_version, Gem::Version.new("2.0.0.pre.1")) do + assert_equal [b, b_1], dep.to_specs end end diff --git a/test/rubygems/test_kernel.rb b/test/rubygems/test_kernel.rb index dee36d05ee..4efa7e075d 100644 --- a/test/rubygems/test_kernel.rb +++ b/test/rubygems/test_kernel.rb @@ -117,20 +117,8 @@ class TestKernel < Gem::TestCase assert $:.any? {|p| %r{bundler-1/lib} =~ p } end - def test_gem_bundler_missing_bundler_version - Gem::BundlerVersionFinder.stub(:bundler_version_with_reason, ["55", "reason"]) do - quick_gem 'bundler', '1' - quick_gem 'bundler', '2.a' - - e = assert_raise Gem::MissingSpecVersionError do - gem('bundler') - end - assert_match "Could not find 'bundler' (55) required by reason.", e.message - end - end - def test_gem_bundler_inferred_bundler_version - Gem::BundlerVersionFinder.stub(:bundler_version_with_reason, ["1", "reason"]) do + Gem::BundlerVersionFinder.stub(:bundler_version, Gem::Version.new("1")) do quick_gem 'bundler', '1' quick_gem 'bundler', '2.a' diff --git a/test/rubygems/test_require.rb b/test/rubygems/test_require.rb index 80c95b26a3..5b826d052b 100644 --- a/test/rubygems/test_require.rb +++ b/test/rubygems/test_require.rb @@ -596,31 +596,6 @@ class TestGemRequire < Gem::TestCase assert_empty unresolved_names end - def test_require_bundler_missing_bundler_version - Gem::BundlerVersionFinder.stub(:bundler_version_with_reason, ["55", "reason"]) do - b1 = util_spec('bundler', '1.999999999', nil, "lib/bundler/setup.rb") - b2a = util_spec('bundler', '2.a', nil, "lib/bundler/setup.rb") - install_specs b1, b2a - - e = assert_raise Gem::MissingSpecVersionError do - gem('bundler') - end - assert_match "Could not find 'bundler' (55) required by reason.", e.message - end - end - - def test_require_bundler_with_bundler_version - Gem::BundlerVersionFinder.stub(:bundler_version_with_reason, ["1", "reason"]) do - b1 = util_spec('bundler', '1.999999999', nil, "lib/bundler/setup.rb") - b2 = util_spec('bundler', '2', nil, "lib/bundler/setup.rb") - install_specs b1, b2 - - $:.clear - assert_require 'bundler/setup' - assert_equal %w[bundler-1.999999999], loaded_spec_names - end - end - # uplevel is 2.5+ only if RUBY_VERSION >= "2.5" ["", "Kernel."].each do |prefix| |