summaryrefslogtreecommitdiff
path: root/spec
AgeCommit message (Collapse)Author
2024-08-26[rubygems/rubygems] Fix newline=false being ignored by Shell#warnMatt Brictson
https://github.com/rubygems/rubygems/commit/e021ff33a8
2024-08-26bundle install with git repo needs to be run under the git environmentHiroshi SHIBATA
Notes: Merged: https://github.com/ruby/ruby/pull/11458
2024-08-23[rubygems/rubygems] Don't break if extra calls to File.writable? happenKJ Tsanaktsidis
In https://bugs.ruby-lang.org/issues/20693, I'd like to have Dir.tmpdir call `File.writable?` instead of `Stat#writable?`. However, that causes this test to break in bundler because it's using RSpec to stub `File.writable?`. We can fix this by allowing the real `File.writable?` to be called for all files except the directory we're trying to stub. https://github.com/rubygems/rubygems/commit/0fa6657293
2024-08-23[rubygems/rubygems] Fix error message when Bundler refuses to install due to ↵David Rodríguez
frozen being set without a lockfile https://github.com/rubygems/rubygems/commit/0857d62ca6
2024-08-22[rubygems/rubygems] Fix `--prefer-local` flagDavid Rodríguez
The original implementation of this flag was too naive and all it did was restricting gems to locally installed versions if there are any local versions installed. However, it should be much smarter. For example: * It should fallback to remote versions if locally installed version don't satisfy the requirements. * It should pick locally installed versions even for subdependencies not yet discovered. This commit fixes both issues by using a smarter approach similar to how we resolve prereleases: * First resolve optimistically using only locally installed gems. * If any conflicts are found, scan those conflicts, allow remote versions for the specific gems that run into conflicts, and re-resolve. https://github.com/rubygems/rubygems/commit/607a3bf479 Co-authored-by: Gourav Khunger <gouravkhunger18@gmail.com>
2024-08-21[rubygems/rubygems] Restore support for passing relative paths to `:git`David Rodríguez
The `file://` protocol does not really work with relative paths and it's not necessary anyways. So restore support for that by not using `file://`. https://github.com/rubygems/rubygems/commit/16a68998ce
2024-08-21[rubygems/rubygems] Add missing flag passed to `git fetch`David Rodríguez
Doesn't really change the test outcome, but I noticed it was missing. https://github.com/rubygems/rubygems/commit/ea4f9d5209
2024-08-21[rubygems/rubygems] Add better error when trying to develop RubyGems with an ↵David Rodríguez
unsupported Ruby version https://github.com/rubygems/rubygems/commit/9d41c4088a
2024-08-21[rubygems/rubygems] Regeneration previous git application caches that didn't ↵David Rodríguez
include bare repos https://github.com/rubygems/rubygems/commit/417319ecb1
2024-08-20Remove dependency on Tempfile::Remover in leakchecker.rbPeter Zhu
2024-08-18Make Range#step to consistently use + for iteration (#7444)Victor Shepelev
Make Range#step to consistently use + for iteration [Feature #18368] Previously, non-numerics expected step to be integer, and iterated with begin#succ, skipping over step value steps. Since this commit, numeric and non-numeric iteration behaves the same way, by using + operator. Notes: Merged-By: zverok <zverok.offline@gmail.com>
2024-08-05[rubygems/rubygems] Don't remove existing platform gems when PLATFORMS ↵David Rodríguez
section is badly indented https://github.com/rubygems/rubygems/commit/ec099ebf1e
2024-08-05[rubygems/rubygems] Fix locked source not getting respected when `bundle ↵David Rodríguez
update <specific_gem>` is run https://github.com/rubygems/rubygems/commit/eec6830c04
2024-08-05[rubygems/rubygems] Extract a `build_repo3` helperDavid Rodríguez
https://github.com/rubygems/rubygems/commit/d8cf4aa0cd
2024-08-05Fix truffleruby removing gems from lockfileDavid Rodríguez
When resolving on truffleruby, and multiple platforms are included in the lockfile, Bundler will not respect existing platforms, but always force ruby variants. That means removal of existing version specific variants, introducing lockfile churn between implementations. To prevent this, we introduce the distinction between `Dependency#force_ruby_platform`, only settable via Gemfile, and `Dependency#default_force_ruby_platform`, which is always true on truffleruby for certain dependency names. This way, when resolving lockfile gems for other platforms on truffleruby, we keep platform specific variants in the lockfile. However, that introduces the problem that if only platform specific variants are locked in the lockfile, Bundler won't be able to materialize on truffleruby because the generic variant will be missing. To fix this additional problem, we make sure the generic "ruby" platform is always added when resolving on truffleruby.
2024-07-31[rubygems/rubygems] Remove some `file_uri_for` callsDavid Rodríguez
https://github.com/rubygems/rubygems/commit/3570ba20ed
2024-07-30[rubygems/rubygems] Print a better debug message when lockfile does not ↵David Rodríguez
include the current platform https://github.com/rubygems/rubygems/commit/afb7a6d754
2024-07-30[rubygems/rubygems] The `simulate_platform` helper can take a stringDavid Rodríguez
https://github.com/rubygems/rubygems/commit/680bafac1a
2024-07-30[rubygems/rubygems] Allow smoother breaking changes in test envDavid Rodríguez
https://github.com/rubygems/rubygems/commit/0fc3feae19
2024-07-26[rubygems/rubygems] Make all tests still pass when switching from ↵David Rodríguez
truffleruby to cruby https://github.com/rubygems/rubygems/commit/4f3d9fa3bf
2024-07-26[rubygems/rubygems] Make test env resilient to ruby version changesDavid Rodríguez
We use pre-existence of `rake_path` to decide whether we need to regenerate dummy test gems in `tmp`. When changing rubies, the previous implementation will believe that the correct `rake_path` exists and avoids regenerating dummy gems, given an error like the following when specs are run: ``` (...) Could not find rubygems-generate_index lib directory in /path/to/rubygems/bundler/tmp/1/gems/base/ruby/3.2.0 # ./spec/support/builders.rb:253:in `block in update_repo' # ./spec/support/helpers.rb:337:in `block in with_gem_path_as' # ./spec/support/helpers.rb:351:in `without_env_side_effects' # ./spec/support/helpers.rb:332:in `with_gem_path_as' # ./spec/support/builders.rb:251:in `update_repo' # ./spec/support/builders.rb:228:in `build_repo' # ./spec/support/builders.rb:197:in `build_repo4' # ./spec/commands/lock_spec.rb:103:in `block (2 levels) in <top (required)>' (...) ``` To fix this, fix the part of the path that depends on the implementation and the Ruby version so that we don't give false positives. https://github.com/rubygems/rubygems/commit/fafacfa210
2024-07-26[rubygems/rubygems] Fix bundle check exit code when git gem is missingJerome Dalbert
Make `bundle check` exit with code 1 when gem git source is not yet checked out. https://github.com/rubygems/rubygems/commit/93162bf5af
2024-07-25[rubygems/rubygems] bundle-gem learns to find Gemfile template correctlyJason Karns
Removes the symlink for gems.rb.tt and instead uses the singular template file. Only the destination filename for the gemfile reads from the `init_gems_rb` setting. https://github.com/rubygems/rubygems/commit/43ce0e1666
2024-07-24Make Integer#round spec work regardless of pointer sizeAlan Wu
The spec is actually testing a behaviour stemming from NUM2INT(), and since `sizeof(long)>=sizeof(int)`, `min_long-1` always makes NUM2INT() raise `RangeError`. Notes: Merged: https://github.com/ruby/ruby/pull/11130
2024-07-24Get fixnum_{min,max} from RbConfig::LIMITS when availableAlan Wu
It's better than guessing based on the pointer size if the implementation provides it directly. Notes: Merged: https://github.com/ruby/ruby/pull/11130
2024-07-24Stop depending on Integer#size to return `sizeof(long)`Alan Wu
There is no guarantee that Integer#size will continue to return `sizeof(long)` for small integers. Use the `l!` specifier for Array#pack instead. It is a public interface that has a direct relationship with the `long` type. Notes: Merged: https://github.com/ruby/ruby/pull/11130
2024-07-24Add "c_long_size" guard, supplanting "wordsize" and stop using Integer#sizeAlan Wu
What a "word" is when talking about sizes is confusing because it's a highly overloaded term. Intel, Microsoft, and GDB are just a few vendors that have their own definition of what a "word" is. Specs that used the "wordsize" guard actually were mostly testing for the size of the C `long` fundamental type, so rename the guard for clarity. Also, get the size of `long` directly from RbConfig instead of guessing using Integer#size. Integer#size is not guaranteed to have anything to do with the `long` type. Notes: Merged: https://github.com/ruby/ruby/pull/11130
2024-07-24Fix test failure of e7610582ad8fd05655221b183257ed358c903ac8Nobuyoshi Nakada
2024-07-23[rubygems/rubygems] Keep only the bare clone in the per app cacheDavid Rodríguez
We don't need an actual checkout since the cache path is no longer used as the install location. Now the per app cache acts just like the standard cache. https://github.com/rubygems/rubygems/commit/686988923c
2024-07-23[rubygems/rubygems] Don't serialize gemspec in the cache locationDavid Rodríguez
Now that the cache location is not used as the install location, this is unnecessary, and it also prevents `bundle install` with a per app cache loading code from two different locations, causing annoying warnings like: ``` Fetching gem metadata from https://rubygems.org/... Fetching https://github.com/puma/puma.git Using nio4r 2.5.4 Using bundler 2.3.0.dev Using puma 5.0.4 from https://github.com/puma/puma.git (at master@ea81fba) Bundle complete! 1 Gemfile dependency, 3 gems now installed. Use `bundle info [gemname]` to see where a bundled gem is installed. Updating files in vendor/cache * nio4r-2.5.4.gem /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:18: warning: already initialized constant Puma::HTTP_STATUS_CODES /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:18: warning: previous definition of HTTP_STATUS_CODES was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:84: warning: already initialized constant Puma::STATUS_WITH_NO_ENTITY_BODY /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:84: warning: previous definition of STATUS_WITH_NO_ENTITY_BODY was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:103: warning: already initialized constant Puma::Const::VERSION /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:103: warning: previous definition of VERSION was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:103: warning: already initialized constant Puma::Const::PUMA_VERSION /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:103: warning: previous definition of PUMA_VERSION was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:104: warning: already initialized constant Puma::Const::CODE_NAME /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:104: warning: previous definition of CODE_NAME was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:106: warning: already initialized constant Puma::Const::PUMA_SERVER_STRING /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:106: warning: previous definition of PUMA_SERVER_STRING was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:108: warning: already initialized constant Puma::Const::FAST_TRACK_KA_TIMEOUT /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:108: warning: previous definition of FAST_TRACK_KA_TIMEOUT was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:112: warning: already initialized constant Puma::Const::PERSISTENT_TIMEOUT /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:112: warning: previous definition of PERSISTENT_TIMEOUT was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:116: warning: already initialized constant Puma::Const::FIRST_DATA_TIMEOUT /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:116: warning: previous definition of FIRST_DATA_TIMEOUT was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:120: warning: already initialized constant Puma::Const::WRITE_TIMEOUT /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:120: warning: previous definition of WRITE_TIMEOUT was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:127: warning: already initialized constant Puma::Const::MAX_FAST_INLINE /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:127: warning: previous definition of MAX_FAST_INLINE was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:130: warning: already initialized constant Puma::Const::REQUEST_URI /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:130: warning: previous definition of REQUEST_URI was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:131: warning: already initialized constant Puma::Const::REQUEST_PATH /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:131: warning: previous definition of REQUEST_PATH was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:132: warning: already initialized constant Puma::Const::QUERY_STRING /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:132: warning: previous definition of QUERY_STRING was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:133: warning: already initialized constant Puma::Const::CONTENT_LENGTH /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:133: warning: previous definition of CONTENT_LENGTH was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:135: warning: already initialized constant Puma::Const::PATH_INFO /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:135: warning: previous definition of PATH_INFO was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:137: warning: already initialized constant Puma::Const::PUMA_TMP_BASE /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:137: warning: previous definition of PUMA_TMP_BASE was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:139: warning: already initialized constant Puma::Const::ERROR_RESPONSE /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:139: warning: previous definition of ERROR_RESPONSE was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:153: warning: already initialized constant Puma::Const::CHUNK_SIZE /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:153: warning: previous definition of CHUNK_SIZE was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:157: warning: already initialized constant Puma::Const::MAX_HEADER /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:157: warning: previous definition of MAX_HEADER was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:160: warning: already initialized constant Puma::Const::MAX_BODY /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:160: warning: previous definition of MAX_BODY was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:162: warning: already initialized constant Puma::Const::REQUEST_METHOD /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:162: warning: previous definition of REQUEST_METHOD was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:163: warning: already initialized constant Puma::Const::HEAD /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:163: warning: previous definition of HEAD was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:165: warning: already initialized constant Puma::Const::LINE_END /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:165: warning: previous definition of LINE_END was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:166: warning: already initialized constant Puma::Const::REMOTE_ADDR /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:166: warning: previous definition of REMOTE_ADDR was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:167: warning: already initialized constant Puma::Const::HTTP_X_FORWARDED_FOR /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:167: warning: previous definition of HTTP_X_FORWARDED_FOR was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:168: warning: already initialized constant Puma::Const::HTTP_X_FORWARDED_SSL /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:168: warning: previous definition of HTTP_X_FORWARDED_SSL was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:169: warning: already initialized constant Puma::Const::HTTP_X_FORWARDED_SCHEME /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:169: warning: previous definition of HTTP_X_FORWARDED_SCHEME was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:170: warning: already initialized constant Puma::Const::HTTP_X_FORWARDED_PROTO /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:170: warning: previous definition of HTTP_X_FORWARDED_PROTO was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:172: warning: already initialized constant Puma::Const::SERVER_NAME /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:172: warning: previous definition of SERVER_NAME was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:173: warning: already initialized constant Puma::Const::SERVER_PORT /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:173: warning: previous definition of SERVER_PORT was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:174: warning: already initialized constant Puma::Const::HTTP_HOST /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:174: warning: previous definition of HTTP_HOST was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:175: warning: already initialized constant Puma::Const::PORT_80 /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:175: warning: previous definition of PORT_80 was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:176: warning: already initialized constant Puma::Const::PORT_443 /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:176: warning: previous definition of PORT_443 was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:177: warning: already initialized constant Puma::Const::LOCALHOST /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:177: warning: previous definition of LOCALHOST was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:178: warning: already initialized constant Puma::Const::LOCALHOST_IP /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:178: warning: previous definition of LOCALHOST_IP was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:180: warning: already initialized constant Puma::Const::SERVER_PROTOCOL /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:180: warning: previous definition of SERVER_PROTOCOL was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:181: warning: already initialized constant Puma::Const::HTTP_11 /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:181: warning: previous definition of HTTP_11 was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:183: warning: already initialized constant Puma::Const::SERVER_SOFTWARE /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:183: warning: previous definition of SERVER_SOFTWARE was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:184: warning: already initialized constant Puma::Const::GATEWAY_INTERFACE /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:184: warning: previous definition of GATEWAY_INTERFACE was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:185: warning: already initialized constant Puma::Const::CGI_VER /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:185: warning: previous definition of CGI_VER was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:187: warning: already initialized constant Puma::Const::STOP_COMMAND /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:187: warning: previous definition of STOP_COMMAND was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:188: warning: already initialized constant Puma::Const::HALT_COMMAND /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:188: warning: previous definition of HALT_COMMAND was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:189: warning: already initialized constant Puma::Const::RESTART_COMMAND /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:189: warning: previous definition of RESTART_COMMAND was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:191: warning: already initialized constant Puma::Const::RACK_INPUT /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:191: warning: previous definition of RACK_INPUT was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:192: warning: already initialized constant Puma::Const::RACK_URL_SCHEME /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:192: warning: previous definition of RACK_URL_SCHEME was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:193: warning: already initialized constant Puma::Const::RACK_AFTER_REPLY /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:193: warning: previous definition of RACK_AFTER_REPLY was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:194: warning: already initialized constant Puma::Const::PUMA_SOCKET /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:194: warning: previous definition of PUMA_SOCKET was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:195: warning: already initialized constant Puma::Const::PUMA_CONFIG /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:195: warning: previous definition of PUMA_CONFIG was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:196: warning: already initialized constant Puma::Const::PUMA_PEERCERT /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:196: warning: previous definition of PUMA_PEERCERT was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:198: warning: already initialized constant Puma::Const::HTTP /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:198: warning: previous definition of HTTP was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:199: warning: already initialized constant Puma::Const::HTTPS /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:199: warning: previous definition of HTTPS was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:201: warning: already initialized constant Puma::Const::HTTPS_KEY /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:201: warning: previous definition of HTTPS_KEY was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:203: warning: already initialized constant Puma::Const::HTTP_VERSION /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:203: warning: previous definition of HTTP_VERSION was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:204: warning: already initialized constant Puma::Const::HTTP_CONNECTION /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:204: warning: previous definition of HTTP_CONNECTION was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:205: warning: already initialized constant Puma::Const::HTTP_EXPECT /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:205: warning: previous definition of HTTP_EXPECT was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:206: warning: already initialized constant Puma::Const::CONTINUE /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:206: warning: previous definition of CONTINUE was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:208: warning: already initialized constant Puma::Const::HTTP_11_100 /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:208: warning: previous definition of HTTP_11_100 was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:209: warning: already initialized constant Puma::Const::HTTP_11_200 /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:209: warning: previous definition of HTTP_11_200 was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:210: warning: already initialized constant Puma::Const::HTTP_10_200 /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:210: warning: previous definition of HTTP_10_200 was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:212: warning: already initialized constant Puma::Const::CLOSE /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:212: warning: previous definition of CLOSE was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:213: warning: already initialized constant Puma::Const::KEEP_ALIVE /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:213: warning: previous definition of KEEP_ALIVE was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:215: warning: already initialized constant Puma::Const::CONTENT_LENGTH2 /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:215: warning: previous definition of CONTENT_LENGTH2 was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:216: warning: already initialized constant Puma::Const::CONTENT_LENGTH_S /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:216: warning: previous definition of CONTENT_LENGTH_S was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:217: warning: already initialized constant Puma::Const::TRANSFER_ENCODING /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:217: warning: previous definition of TRANSFER_ENCODING was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:218: warning: already initialized constant Puma::Const::TRANSFER_ENCODING2 /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:218: warning: previous definition of TRANSFER_ENCODING2 was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:220: warning: already initialized constant Puma::Const::CONNECTION_CLOSE /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:220: warning: previous definition of CONNECTION_CLOSE was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:221: warning: already initialized constant Puma::Const::CONNECTION_KEEP_ALIVE /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:221: warning: previous definition of CONNECTION_KEEP_ALIVE was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:223: warning: already initialized constant Puma::Const::TRANSFER_ENCODING_CHUNKED /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:223: warning: previous definition of TRANSFER_ENCODING_CHUNKED was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:224: warning: already initialized constant Puma::Const::CLOSE_CHUNKED /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:224: warning: previous definition of CLOSE_CHUNKED was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:226: warning: already initialized constant Puma::Const::CHUNKED /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:226: warning: previous definition of CHUNKED was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:228: warning: already initialized constant Puma::Const::COLON /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:228: warning: previous definition of COLON was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:230: warning: already initialized constant Puma::Const::NEWLINE /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:230: warning: previous definition of NEWLINE was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:232: warning: already initialized constant Puma::Const::HIJACK_P /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:232: warning: previous definition of HIJACK_P was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:233: warning: already initialized constant Puma::Const::HIJACK /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:233: warning: previous definition of HIJACK was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:234: warning: already initialized constant Puma::Const::HIJACK_IO /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:234: warning: previous definition of HIJACK_IO was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:236: warning: already initialized constant Puma::Const::EARLY_HINTS /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:236: warning: previous definition of EARLY_HINTS was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:239: warning: already initialized constant Puma::Const::WORKER_CHECK_INTERVAL /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:239: warning: previous definition of WORKER_CHECK_INTERVAL was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:242: warning: already initialized constant Puma::Const::DQUOTE /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:242: warning: previous definition of DQUOTE was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:243: warning: already initialized constant Puma::Const::HTTP_HEADER_DELIMITER /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:243: warning: previous definition of HTTP_HEADER_DELIMITER was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:244: warning: already initialized constant Puma::Const::ILLEGAL_HEADER_KEY_REGEX /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:244: warning: previous definition of ILLEGAL_HEADER_KEY_REGEX was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:245: warning: already initialized constant Puma::Const::ILLEGAL_HEADER_VALUE_REGEX /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:245: warning: previous definition of ILLEGAL_HEADER_VALUE_REGEX was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:248: warning: already initialized constant Puma::Const::BANNED_HEADER_KEY /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:248: warning: previous definition of BANNED_HEADER_KEY was here Using bundler 2.3.0.dev Using nio4r 2.5.4 Using puma 5.0.4 from https://github.com/puma/puma.git (at /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce@ea81fba) Updating files in vendor/cache Bundle complete! 1 Gemfile dependency, 3 gems now installed. Use `bundle info [gemname]` to see where a bundled gem is installed. ``` https://github.com/rubygems/rubygems/commit/039d9fb2cd
2024-07-23[rubygems/rubygems] Stop using the cache path as the install locationDavid Rodríguez
https://github.com/rubygems/rubygems/commit/ecadd02746
2024-07-23[rubygems/rubygems] Stop removing the `.git` folder from cached git gemsDavid Rodríguez
If we want to change git gems to use a proper cache, instead of using the cache folder as the install location, so we need to keep git information in the cache, so that when running `bundle install` or `bundler install --local`, we are able to figure out whether the revision that needs to be checked out is present locally in the cache or needs to be fetched from the remote repository. https://github.com/rubygems/rubygems/commit/607eda63eb
2024-07-23[rubygems/rubygems] Fix `bundle exec gem uninstall`David Rodríguez
* `bundle exec` assigns `Gem::Specification.all` to the set of specs known to Bundler (a `Bundler::SpecSet`). * `gem uninstall` recently started calling `#delete` on the set of specs stored in `Gem::Specification#all`. This, in RubyGems, is just an array of specs, so has a `#delete` method that receives a single element. * However, at some point I added a `SpecSet#delete` method that takes an array of specs, breaking the "Array-like" contract and making `gem uninstall` break when run in a `bundle exec` context. The fix is to make `Bundler::SpecSet#delete` handle being given a single spec. https://github.com/rubygems/rubygems/commit/e3acb7b01d
2024-07-23[rubygems/rubygems] Enable checksums on Bundler 3 for fresh lockfilesDavid Rodríguez
And get specs passing. https://github.com/rubygems/rubygems/commit/c23b5f5b84
2024-07-23[rubygems/rubygems] Extract a `rake_path` helperDavid Rodríguez
https://github.com/rubygems/rubygems/commit/0f2db73619
2024-07-23[rubygems/rubygems] Normalize a few specs using sourcesDavid Rodríguez
Use the standard sources to avoid having to explictly pass ENV with the repo. https://github.com/rubygems/rubygems/commit/95055dba57
2024-07-23[rubygems/rubygems] Enforce passing a block to `simulate_platform`David Rodríguez
https://github.com/rubygems/rubygems/commit/0658903e25
2024-07-19mustermann depends on URI::RFC2396_PARSER behaviorHiroshi SHIBATA
It's part of dependencies for Sinatra. we should fix mustermann before final release of Ruby 3.4 Notes: Merged: https://github.com/ruby/ruby/pull/11204
2024-07-18[rubygems/rubygems] Fix another removal issueDavid Rodríguez
I failed to ignore (again) specs only considered for resolution under some platforms that are not the current one. https://github.com/rubygems/rubygems/commit/b72deec57e
2024-07-18[rubygems/rubygems] Simplify spec assertionDavid Rodríguez
All that we expect here is no changes. https://github.com/rubygems/rubygems/commit/ff984b6133
2024-07-18[rubygems/rubygems] Fix incorrect standalone script when default gems with ↵David Rodríguez
extensions are used https://github.com/rubygems/rubygems/commit/55649cd09b
2024-07-18[rubygems/rubygems] Remove unnecessary `artifice` parameterDavid Rodríguez
It's automatically detected from Gemfile. https://github.com/rubygems/rubygems/commit/72301a2e3b
2024-07-18[rubygems/rubygems] Use latest shellwords for standalone testDavid Rodríguez
https://github.com/rubygems/rubygems/commit/fcd04daf68
2024-07-18[rubygems/rubygems] Ext is generally not in `require_paths`David Rodríguez
https://github.com/rubygems/rubygems/commit/83b417a166
2024-07-18[rubygems/rubygems] Fix gemspec `require_paths` type validationDavid Rodríguez
It was not properly being detected as an Array attribute, and thus not properly validated. Fixing this allows us to remove a strange `rescue` clause in Bundler. https://github.com/rubygems/rubygems/commit/4121a32408
2024-07-18[rubygems/rubygems] Warn non flattened require paths in old RubyGems ↵David Rodríguez
versions too https://github.com/rubygems/rubygems/commit/b3cdccc6fb
2024-07-18[rubygems/rubygems] Use `caller_locations` instead of splitting `caller`Nobuyoshi Nakada
Also limit caller ranges https://github.com/rubygems/rubygems/commit/a274b1af78
2024-07-18[rubygems/rubygems] Fix detection of `gem_repo1` being updatedDavid Rodríguez
https://github.com/rubygems/rubygems/commit/9f9493c77c
2024-07-18Split URI::Parser examples with RFC2396 and RFC3986Hiroshi SHIBATA
Prepare for https://github.com/ruby/uri/pull/107
2024-07-17Revert pending `EVENT_RETURN` testsNobuyoshi Nakada
* "Allow ambiguosity of `return` line" 65b991bc8571b7b718fc22bd33a43c4d269bf52d * "Move to test/.excludes-prism" 3b4ff810d2fefdf0194bd774bc04f6f17e2ccae7 * "Pending `EVENT_RETURN` settracefunc tests with Prism" a7f33c99c69e3cc62b7a24ce35f51f76cc5bfaa2 Notes: Merged: https://github.com/ruby/ruby/pull/11163