diff options
author | Samuel Giddins <segiddins@segiddins.me> | 2023-09-02 15:53:27 -0500 |
---|---|---|
committer | git <svn-admin@ruby-lang.org> | 2023-10-15 04:46:32 +0000 |
commit | 83f929316e2ef860469886d8001b69a67f15a406 (patch) | |
tree | 698b67a2e4d27d6782469fa3627ce9cb61c0fea3 /spec | |
parent | 48c6cea330259a66ccf9757b06418b0653ec1dfb (diff) | |
download | ruby-83f929316e2ef860469886d8001b69a67f15a406.tar.gz |
[rubygems/rubygems] Fix force_ruby_platform: when the lockfile only locks the ruby platform
https://github.com/rubygems/rubygems/commit/7c50064c3c
Diffstat (limited to 'spec')
-rw-r--r-- | spec/bundler/install/gemfile/force_ruby_platform_spec.rb | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/spec/bundler/install/gemfile/force_ruby_platform_spec.rb b/spec/bundler/install/gemfile/force_ruby_platform_spec.rb index 0e9f1f0292..208a629101 100644 --- a/spec/bundler/install/gemfile/force_ruby_platform_spec.rb +++ b/spec/bundler/install/gemfile/force_ruby_platform_spec.rb @@ -114,5 +114,48 @@ RSpec.describe "bundle install with force_ruby_platform DSL option", :jruby do expect(the_bundle).to include_gems "depends_on_platform_specific 1.0.0 RUBY" expect(the_bundle).to include_gems "platform_specific 1.0.0 #{Bundler.local_platform}" end + + it "uses ruby variants for the explicit transitive dependency with a lockile that has only ruby platform" do + lockfile <<-L + GEM + remote: #{file_uri_for(gem_repo4)} + specs: + dep_level_2 (1.0) + depends_on_platform_specific + depends_on_platform_specific (1.0) + platform_specific + platform_specific (1.0) + + PLATFORMS + ruby + + DEPENDENCIES + dep_level_2 + platform_specific + + BUNDLED WITH + #{Bundler::VERSION} + L + + install_gemfile <<-G, :env => { "BUNDLER_SPEC_GEM_REPO" => gem_repo4.to_s }, :artifice => "compact_index", :verbose => true + source "#{file_uri_for(gem_repo4)}" + + gem "platform_specific" + gem "depends_on_platform_specific" + G + + expect(the_bundle).to include_gems "depends_on_platform_specific 1.0.0 #{Bundler.local_platform}" + expect(the_bundle).to include_gems "platform_specific 1.0.0 #{Bundler.local_platform}" + + install_gemfile <<-G, :env => { "BUNDLER_SPEC_GEM_REPO" => gem_repo4.to_s }, :artifice => "compact_index" + source "#{file_uri_for(gem_repo4)}" + + gem "platform_specific", :force_ruby_platform => true + gem "depends_on_platform_specific" + G + + expect(the_bundle).to include_gems "depends_on_platform_specific 1.0.0 #{Bundler.local_platform}" + expect(the_bundle).to include_gems "platform_specific 1.0.0 RUBY" + end end end |