summaryrefslogtreecommitdiff
path: root/spec/bundler/support
AgeCommit message (Collapse)Author
2026-02-09Merge RubyGems/Bundler 4.0.5Hiroshi SHIBATA
2025-12-23Merge RubyGems 4.0.3 and Bundler 4.0.3Hiroshi SHIBATA
2025-12-04[ruby/rubygems] Add before(:context) hook to warn when spec files are not ↵Hiroshi SHIBATA
assigned to any Windows runner group https://github.com/ruby/rubygems/commit/3ddb740969
2025-12-04[ruby/rubygems] Try to split and run three runners for WindowsHiroshi SHIBATA
I organized all examples the followings: ``` Total test time: 2468.41 seconds Total files: 168 Group A: 42 files, 617.08 seconds Group B: 42 files, 617.05 seconds Group C: 42 files, 617.14 seconds Group D: 42 files, 617.14 seconds ``` https://github.com/ruby/rubygems/commit/94d41e6c7c
2025-11-20[ruby/rubygems] Improve error messages and handling in testseileencodes
This is a first pass to improve the way errors are handled and raised in bundler's tests. The goal is to clean up tests and modernize them - these were some obvious areas that could be cleaned up. - Instead of raising "ZOMG" in the load error tests, it now tests for the actual error and gem raising. - Improve error messages where applicable. - All errors raise a specific error class, rather than falling back to a default and just setting a message. - Removed arguments and `bundle_dir` option from `TheBundle` class as it wasn't actually used so therefore we don't need to raise an error for extra arguments. - Removed error from `BundlerBuilder`, as it won't work if it's not `bundler`, also it never uses `name`. The only reaon `name` is passed in is because of metaprogramming on loading the right builder. I think that should eventually be refactored. - Replaced and removed `update_repo3` and `update_repo4` in favor of just `build_repo3` and `build_repo4`. Rather than tell someone writing tests to use a different method, automatically use the right method. https://github.com/ruby/rubygems/commit/68c39c8451
2025-11-14[ruby/rubygems] Suppress gem build message of bundler like this:Hiroshi SHIBATA
``` $ rake spec:regular Successfully built RubyGem Name: bundler Version: 4.0.0.dev File: bundler-4.0.0.dev.gem ``` https://github.com/ruby/rubygems/commit/8f0ca5eefa
2025-11-13[ruby/rubygems] We don't need to allow some warning because:David Rodríguez
Always build gems with RubyGems programmatically https://github.com/ruby/rubygems/commit/5cc0c34e64
2025-11-12[ruby/rubygems] Shell out fewer timesAaron Patterson
This is a follow up to #9053. We can avoid shelling out for generating the gem index. https://github.com/ruby/rubygems/commit/e40bafe9f1
2025-11-11Support out-of-place build in ruby/ruby repoHiroshi SHIBATA
2025-11-11[ruby/rubygems] Use Spec::Path.relative_gemspecHiroshi SHIBATA
https://github.com/ruby/rubygems/commit/2142e405b0
2025-11-11[ruby/rubygems] build gems directly instead of shelling outAaron Patterson
I'm trying to speed up the bundler tests. The tests shell out a lot in order to build gems. We can build gems without creating a sub-process. This change reduced the test suite time from ~24 minutes, to about ~21 minutes on my machine. Once we have more of these "asset generation" routines done in the same process, I think we can start caching the outputs for further improvements https://github.com/ruby/rubygems/commit/ebf27056c6
2025-11-07[ruby/rubygems] Restore pathname for rake dev:depsHiroshi SHIBATA
https://github.com/ruby/rubygems/commit/89e95d0f15
2025-11-07[ruby/rubygems] Replace Pathname#rmtree to FileUtils.rm_rf directlyHiroshi SHIBATA
https://github.com/ruby/rubygems/commit/33c7a9a565
2025-11-07[ruby/rubygems] Removed unnecessary loading of pathnameHiroshi SHIBATA
https://github.com/ruby/rubygems/commit/6e965b7872
2025-10-28[ruby/rubygems] Simulate default gems manuallyHiroshi SHIBATA
https://github.com/ruby/rubygems/commit/c3cc38c72c
2025-09-19[rubygems/rubygems] Switch `lockfile_checksums` to be true by defaultDavid Rodríguez
https://github.com/rubygems/rubygems/commit/47c3dc19ee Co-authored-by: Jonathan Barquero <jonbarlo@hotmail.com>
2025-09-03[rubygems/rubygems] Improve `deprecations` helperDavid Rodríguez
Previous implementation included an empty element in the list of deprecations. https://github.com/rubygems/rubygems/commit/59eb233039
2025-07-28(Temporarily?) delay path changes and global cache changesDavid Rodríguez
There are several issues with these which I'm not sure I'll have time to address properly. I prefer to keep our default branch in a releasable state just in case. Once they are fixed, this can be reverted.
2025-07-28[rubygems/rubygems] Remove unnecessary branchingDavid Rodríguez
We now run specs against a single version, so I prefer to keep a single branch. Once we bump the major version, this will need very little updates, and that seems fine. https://github.com/rubygems/rubygems/commit/3866d25a00
2025-07-25[rubygems/rubygems] Fix language quality spec no longer getting run properlyDavid Rodríguez
https://github.com/rubygems/rubygems/commit/c65e34a904
2025-07-25[rubygems/rubygems] Fix man tracked files glob for ruby-coreDavid Rodríguez
The location has been consistent with upstream for a while so the previous glob was no longer matching any files. https://github.com/rubygems/rubygems/commit/dae40b7041
2025-07-25[rubygems/rubygems] Don't create an empty `tmp/2.1` directory when running ↵David Rodríguez
spec:deps task https://github.com/rubygems/rubygems/commit/3189d3e49b
2025-07-25[rubygems/rubygems] Build bundler gem just once for specsDavid Rodríguez
When we need to reset system gems during specs, there's no need to rebuild bundler, we can copy over the original gem home. https://github.com/rubygems/rubygems/commit/7b4f80747b
2025-07-25[rubygems/rubygems] Don't create an empty bundled_app when setting up depsDavid Rodríguez
Running everything in `bundled_app` by default causes the `bundled_app` helper to be used everytime, and that will create a scoped bundled_app folder if it does not exist. That causes `bin/rake spec:deps` to create an empty `tmp/2.1/bundled_app` folder which is a bit weird. This commit changes specs to not switch to a (possibly empty) bundled_app directory when not necessary (for example, when running `gem` commands in order to setup test dependencies). https://github.com/rubygems/rubygems/commit/4bf89c0705
2025-07-25[rubygems/rubygems] Fix some specs running the wrong rakeDavid Rodríguez
https://github.com/rubygems/rubygems/commit/8d4eb154b1
2025-07-25[rubygems/rubygems] Remove unused parameterDavid Rodríguez
https://github.com/rubygems/rubygems/commit/043f73586b
2025-07-22[rubygems/rubygems] Define dummy module for mise pluginHiroshi SHIBATA
https://github.com/rubygems/rubygems/commit/64bdff1e1e
2025-07-14[rubygems/rubygems] Reset tmp directories before spec suiteDavid Rodríguez
If you abort running test suite with a quick double Ctrl-C, tmp files will be left around, and they will interfere with the next test run. To avoid this, make sure to clear them once at the beginning of the test suite. ### Before ``` $ bin/parallel_rspec 16 processes for 175 specs, ~ 11 specs per process .............................................................................................^C^C Finished in 19.45 seconds (files took 0.42722 seconds to load) 94 examples, 0 failures (... turbo tests backtrace ...) $ bin/parallel_rspec 16 processes for 175 specs, ~ 11 specs per process .F....F....F...F......^C Failures: (... failures' details ...) ``` ### After ``` $ bin/parallel_rspec 16 processes for 175 specs, ~ 11 specs per process .................................................................................^C^C Finished in 18.18 seconds (files took 0.4383 seconds to load) 82 examples, 0 failures (... turbo tests backtrace ...) $ bin/parallel_rspec 16 processes for 175 specs, ~ 11 specs per process ................................................................................^C^C Finished in 8.79 seconds (files took 0.45187 seconds to load) 80 examples, 0 failures (... turbo tests backtrace ...) ``` https://github.com/rubygems/rubygems/commit/6767a52711
2025-07-07[rubygems/rubygems] Remove `default_install_uses_path` settingDavid Rodríguez
The previous default can already be configured with `bundle config path.system true`. https://github.com/rubygems/rubygems/commit/cb483b79db
2025-07-03Sync RubyGemsDavid Rodríguez
2025-07-02[rubygems/rubygems] Migrate all remaining specs to run offlineDavid Rodríguez
Also removed the helper to install real gems during specs to avoid the temptation of introducing network stuff again. https://github.com/rubygems/rubygems/commit/a1ab5e319a
2025-07-02[rubygems/rubygems] Migrate `bundle viz` specs to run offlineDavid Rodríguez
https://github.com/rubygems/rubygems/commit/672722cd4d
2025-07-02[rubygems/rubygems] Simpler glob to find path to rakeDavid Rodríguez
https://github.com/rubygems/rubygems/commit/852db00169
2025-07-02[rubygems/rubygems] Rename some helpers to avoid name classesDavid Rodríguez
I plan to introduce a `base_system_gems` helper to actually install gems from `base_system_gem_path` into system gems but that would collapse with an existing helper. https://github.com/rubygems/rubygems/commit/714c209e62
2025-06-30[rubygems/rubygems] Remove "double CI" for testing Bundler 4 modeDavid Rodríguez
Since now every functionality that changes in Bundler 4 is under a setting, we can enable that setting to test the new functionality, without having to run our full CI twice. This can actually be seen as increasing coverage, because Bundler 4 functionality will now be tested on Windows, MacOS, or any other environment where previously "Bundler 4 mode" was not running. https://github.com/rubygems/rubygems/commit/1cb3e009fc
2025-06-30Rewrite specs to not start local dev serversDavid Rodríguez
They cause flakies when different tests start them in parallel, and also make the specs more complicated.
2025-06-26[rubygems/rubygems] Simulate Bundler 4 in a better wayDavid Rodríguez
Overriding the version constant feels too magic and creates a set of problems. For example, Bundler will lock the simulated version, and that can cause issues when the lockfile is used under an environment not simulating Bundler 4 (it will try to auto-install and auto-switch to a version that does not exist). On top of that, it can only be configured with an ENV variable which is not too flexible. This commit takes a different approach of using a setting, which is configurable through ENV or `bundle config`, and pass the simulated version to `Bundler::FeatureFlag`. The real version is still the one set by `VERSION`, but anything that `Bundler::FeatureFlag` controls will use the logic of the "simulated version". In particular, all feature flags and deprecation messages will respect the simulated version, and this is exactly the set of functionality that we want users to be able to easily try before releasing it. https://github.com/rubygems/rubygems/commit/8129402193
2025-06-24[rubygems/rubygems] Remove no longer necessary workarounds for restartsDavid Rodríguez
Since we no longer pass ruby CLI flags in our spec commands, we no longer need the previous workaround and can get the realworld code tested. https://github.com/rubygems/rubygems/commit/fd92c855fb
2025-06-24[rubygems/rubygems] Use ENV consistently over CLI flags for specsDavid Rodríguez
https://github.com/rubygems/rubygems/commit/dafe50f171
2025-06-24[rubygems/rubygems] Helper for hax fileDavid Rodríguez
https://github.com/rubygems/rubygems/commit/8b7ddf8a07
2025-06-24[rubygems/rubygems] `bundle exec` does not need artifice in generalDavid Rodríguez
https://github.com/rubygems/rubygems/commit/cb1f19573a
2025-06-23[rubygems/rubygems] Fix flaky test failures in mirror probing specsDavid Rodríguez
The mirror probing spec file was moved to our regular suite, which runs in parallel, recently. These specs rely on starting and stopping actual servers in localhost, but this does not play nice with parallelization, because a spec may kill the webserver another spec has created. This commit moves mirror probing specs to not need to start servers in localhost and do something more similar to what the other specs do. https://github.com/rubygems/rubygems/commit/ca9a19706f
2025-06-19Skip to Bundler 4 directlyDavid Rodríguez
2025-06-19[rubygems/rubygems] Allow enabling "Bundler 3 mode" more easilyDavid Rodríguez
Currently to test Bundler 3 mode we have to actually edit the version file to simulate we're running a future version. This is inconvenient. Instead, allow passing an environment variable, `BUNDLER_3_MODE`, to set the "working mode" Bundler should use. This can now be set easily by end users to enable them to try out the changes in the future version and give us feedback. It's unclear how version auto-switching should work when this environment variable is set, so the auto-switching feature will be disabled in that case. https://github.com/rubygems/rubygems/commit/4e92e9b209
2025-06-06Move most of Bundler::GemHelpers to Gem::PlatformSamuel Giddins
This will help centralize wheel platform selection logic eventually Signed-off-by: Samuel Giddins <segiddins@segiddins.me>
2025-06-06[rubygems/rubygems] Tweak to spec setup so that `rspec` instead of our ↵David Rodríguez
`bin/rspec` binstub still works https://github.com/rubygems/rubygems/commit/24e6699316
2025-06-06[rubygems/rubygems] Extract stdboth spec helperDavid Rodríguez
https://github.com/rubygems/rubygems/commit/bb13f4e702
2025-06-03Remove hardcoded version of rake from Bundler testsDavid Rodríguez
Let them run against the version resolved by the `test_gems.rb` gemfile. This should fix ruby-core CI job that was broken by the release of rake 13.3.0.
2025-06-03[rubygems/rubygems] Partially phase out x64-mingw32 in favour of ↵Nicholas La Roux
x64-mingw-ucrt (platforms) - the x64-mingw32 platform has been superseded by x64-mingw-ucrt - the mingw-ucrt platform is present as of Windows 10, which was released 10 years ago in 2015 and all versions prior to 10 are end-of-life and 10 will be by mid October 2025 - newer rubies use the mingw-ucrt platform instead of the mingw32 platform, meaning using the deprecated platform can cause issues during gem installation https://github.com/rubygems/rubygems/commit/b9d871022e
2025-05-31Update bundled gems list as of 2025-05-31git