Remove the internal_gem Gemfile.lock before the test starts: #136
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The test suite of this gem is broken since Bundler 2.5.0 with this Make lockfiles generated on macOS include a lock for Linux by default ruby/rubygems#5700.
TL;DR is that the Gemfile.lock from the internal_gem doesn't match its Gemfile which now causes problems.
When the sqlite3 gem gets stripped from the internal_gem Gemfile, the resulting Gemfile.lock (that gets created when running bundle update), will not contain sqlite3 for any platforms.
When your test starts and the "internal_app" gets generated, this condition inside the Gemfile
engine_cart/lib/engine_cart/gemfile_stanza.rb
Lines 12 to 15 in b89464c
We are now in a situation where the Gemfile of the internal gem doesn't match at all what's in the Gemfile.lock (since at the time the Gemfile.lock was generated, the
eval_gemfiledidn't get evaluated since no internal_app existed).With the change introduced in #5700, the initial generation of the Gemfile.lock adds all linux platforms (this is in the case your Gemfile includes a gem that comes with precompiled binaries like nokogiri). Now, when the Gemfile.lock contains a PLATFORM section, it checks whether all gem in the Gemfile are locked for those specific platforms.