diff options
author | David Rodriguez <deivid.rodriguez@riseup.net> | 2023-09-30 21:42:39 +0200 |
---|---|---|
committer | git <svn-admin@ruby-lang.org> | 2023-10-03 09:42:31 +0000 |
commit | ed0661e618fa9fe9e685f755f02e3a1de2d4726b (patch) | |
tree | e511b54ab51a19d93a8d5e133eddb88fa6c84c49 /spec | |
parent | b73ef929988a7cd87ce95c0e21b18ac04d8188d8 (diff) |
[rubygems/rubygems] Don't re-resolve with prereleases if unlocked gem has no prereleases
https://github.com/rubygems/rubygems/commit/d76dc70d90
Diffstat (limited to 'spec')
-rw-r--r-- | spec/bundler/realworld/edgecases_spec.rb | 2 | ||||
-rw-r--r-- | spec/bundler/resolver/basic_spec.rb | 9 |
2 files changed, 10 insertions, 1 deletions
diff --git a/spec/bundler/realworld/edgecases_spec.rb b/spec/bundler/realworld/edgecases_spec.rb index 2f465b7b25..d04da0c334 100644 --- a/spec/bundler/realworld/edgecases_spec.rb +++ b/spec/bundler/realworld/edgecases_spec.rb @@ -323,7 +323,7 @@ RSpec.describe "real world edgecases", :realworld => true do if Bundler.feature_flag.bundler_3_mode? # Conflicts on bundler version, so we count attempts differently bundle :lock, :env => { "DEBUG_RESOLVER" => "1" }, :raise_on_error => false - expect(out.split("\n").grep(/backtracking to/).count).to eq(16) + expect(out.split("\n").grep(/backtracking to/).count).to eq(8) else bundle :lock, :env => { "DEBUG_RESOLVER" => "1" } expect(out).to include("Solution found after 7 attempts") diff --git a/spec/bundler/resolver/basic_spec.rb b/spec/bundler/resolver/basic_spec.rb index c07b77d6fd..4a0dd37bf9 100644 --- a/spec/bundler/resolver/basic_spec.rb +++ b/spec/bundler/resolver/basic_spec.rb @@ -107,6 +107,15 @@ RSpec.describe "Resolving" do end.to raise_error(Bundler::SolveFailure) end + it "does not try to re-resolve including prereleases if gems involved don't have prereleases" do + @index = a_unresolvable_child_index + dep "chef_app_error" + expect(Bundler.ui).not_to receive(:debug).with("Retrying resolution...", any_args) + expect do + resolve + end.to raise_error(Bundler::SolveFailure) + end + it "raises an exception with the minimal set of conflicting dependencies" do @index = build_index do %w[0.9 1.0 2.0].each {|v| gem("a", v) } |