summaryrefslogtreecommitdiff
path: root/spec/bundler
AgeCommit message (Collapse)Author
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-28[rubygems/rubygems] The `install_gemfile` helper has not set "retry" for a ↵David Rodríguez
long time https://github.com/rubygems/rubygems/commit/41dab5954f
2025-07-25[rubygems/rubygems] Document missing options from man pages:Edouard CHIN
- The `bundle plugin uninstall --all` was missing. - The `bundle plugin install --local-git` was missing due to being deprecated. We decided to reintroduce the doc for more clarity. https://github.com/rubygems/rubygems/commit/4da252945c
2025-07-25[rubygems/rubygems] Add a quality spec to ensure man pages are up to date:Edouard CHIN
- Ref #8802 - ### Problem Whenever a bundler command options is added, we want to make sure that the associated command man page is updated to reflect the new option (e.g. this mistake was made in #8624) ### Solution In #8802 we discussed a bit on the implementation which would rely on parsing ronn files and introduce some conventions on how options documented in man pages should be written. I figured I would try a simpler approach by just checking if the man page of a command list options using a simple regex. Pros: - Simpler as we don't have to parse ronn files. - No need to modify all existing man pages. Cons: - We can only verify one way (CLI options -> man pages). If a CLI option get removed, we won't be able to warn that the existing document man page option needs to be removed. https://github.com/rubygems/rubygems/commit/e10e60bd33
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] Remove some unnecessary `artifice` argumentsDavid Rodríguez
Since `sys_exec` does not actually set it. https://github.com/rubygems/rubygems/commit/abc0fd0599
2025-07-25[rubygems/rubygems] Simplify new gem spec that simulates "no git available"David Rodríguez
I don't know why it was written like that. https://github.com/rubygems/rubygems/commit/ee83fddd30
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-17Cancel `--force` deprecation in favor of `--redownload`David Rodríguez
I realized `--redownload` is not a good name, because it does not necessarily redownloads gems. It only forces reinstallation even if gem is already installed. So I believe `--force` is actually a better name and the introduction of `--force` was a misunderstanding of what the `--force` flag did at the time. Let's cancel the deprecation of `--force`. For now the `--redownload` alias is left around until we decide what to do with it.
2025-07-17[rubygems/rubygems] Remove some realworld specsDavid Rodríguez
These two specs need the version of Bundler to be faked to pass. In one of them we're doing it already, and in the other one it will be needed when bumping the major version of Bundler. So they are no longer truly realworld anymore. Realworld specs are hard to maintain, particularly the ones that depend on the version of Bundler itself, so I'm slowly moving away from them. I checked the changes that introduced them and I believe it's really unlikely that any of these catches turns out to be the only spec to catch a resolver regression. We've completely changed the resolution engine since and a lot of extra coverage has been added so I believe it's fine to let these two go. https://github.com/rubygems/rubygems/commit/a363f0168c
2025-07-17[rubygems/rubygems] Regenerate VCR cassettesDavid Rodríguez
https://github.com/rubygems/rubygems/commit/8530965b9e
2025-07-17[rubygems/rubygems] Fix `bundle binstub --path=foo` not printing a ↵David Rodríguez
deprecation warning Like others, it's a remembered option which we are deprecating in favor of configuration. https://github.com/rubygems/rubygems/commit/801d5dd943
2025-07-17[rubygems/rubygems] Fix `bundle cache path=foo` not printing a deprecation ↵David Rodríguez
message https://github.com/rubygems/rubygems/commit/0af03eea5d
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-09[rubygems/rubygems] Update gemspec based on provided github username when existsSweta Sanghavi
* Conditionally set changelog_url if gh username passed and enabled * conditionally set homepage, source code uri, homepage uri when gh username passed in * update documentation to say username will also be used for gemspec file https://github.com/rubygems/rubygems/commit/1c1ada593b
2025-07-09[rubygems/rubygems] Use shorter questions as prompts in `bundle gem`David Rodríguez
If we use long explanations as prompts, sometimes the prompt gets printed twice due to a (I think) reline/readline bug. https://github.com/rubygems/rubygems/commit/987e0dfa90
2025-07-07[rubygems/rubygems] Stop allowing calling `#gem` on random objectsDavid Rodríguez
https://github.com/rubygems/rubygems/commit/4b8570ae15
2025-07-07[rubygems/rubygems] Cancel `path_relative_to_cwd` changeDavid Rodríguez
It only affected the `--path` flag which is actually getting removed, so I don't think it makes sense to make such change. The current behavior is reasonable and I tried to codify it with a few more specs. https://github.com/rubygems/rubygems/commit/6f520eb146
2025-07-07[rubygems/rubygems] Move specs independent of gem name out of shared examplesDavid Rodríguez
And rename the shared examples to "paths dependent on gem name". https://github.com/rubygems/rubygems/commit/cdcc8ba92a
2025-07-07[rubygems/rubygems] Move specs independent from gem_name out of "generating ↵David Rodríguez
a gem" shared specs So that they don't run repeatedly. https://github.com/rubygems/rubygems/commit/1f65e879f4
2025-07-07[rubygems/rubygems] Remove unnecessary nestingDavid Rodríguez
https://github.com/rubygems/rubygems/commit/eac831a1b7
2025-07-07[rubygems/rubygems] Actually run "generating a gem" shared examples for the ↵David Rodríguez
more standard name They were only being run for "edge case" names, yet it tests all kind of things about generation. https://github.com/rubygems/rubygems/commit/3e9d805eea
2025-07-07[rubygems/rubygems] Fix assertions to not depend on specific gem nameDavid Rodríguez
https://github.com/rubygems/rubygems/commit/27a4af859e
2025-07-07[rubygems/rubygems] Remove unnecessary nesting from standalone specsDavid Rodríguez
Originally, all the specs in this file were put inside a shared examples block, and since then all specs were run only changing the cwd (either from root, or a subdirectory). This was in https://github.com/rubygems/rubygems/commit/d7291700d016, to cover a fix in the `bundler_path` method. However, reverting that fix does not make any of the specs in either of the main blocks fail! Only an unrelated spec of `bundle install --standalone --local` fails. The reason is that all specs set `path` to an absolute path, making the fix essentially uncovered. In order to simplify the file structure and improve runtime, I completely removed the shared examples block, and only run main specs for the root directory. Then I added a couple of extra specs to cover the original bug fix. This cuts runtime of this spec file in half, from 1m30s to 45s on my laptop. https://github.com/rubygems/rubygems/commit/cc506f17e0
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-07[rubygems/rubygems] Remove unnecessary feature flag checkDavid Rodríguez
This spec now only runs in Bundler 2 mode. https://github.com/rubygems/rubygems/commit/f52cb240ca
2025-07-03Sync RubyGemsDavid Rodríguez
2025-07-02[rubygems/rubygems] Split HTTP_ERRORS into retryable and non retryableDavid Rodríguez
https://github.com/rubygems/rubygems/commit/c241a640fc
2025-07-02[rubygems/rubygems] Handle connection refused and Errno::EADDRNOTAVAIL as ↵David Rodríguez
non-retryable https://github.com/rubygems/rubygems/commit/cd529776d5
2025-07-02[rubygems/rubygems] Refactor downloader specs to better test real behaviorDavid Rodríguez
In particular, no route to host errors are actually fatal since they are usually raised as `SocketError`'s, while the specs were incorrectly testing that they are retryable. https://github.com/rubygems/rubygems/commit/9410ceb36b
2025-07-02[rubygems/rubygems] Move Bundler::Fetcher::HTTP_ERRORS to ↵David Rodríguez
Bundler::Fetcher::DOWNLOADER And deprecate the old constant. It's only used in this class, and in Bundler::Fetcher there's already FAIL_ERRORS, very similar to it. So this makes things less confusing. https://github.com/rubygems/rubygems/commit/d32ed63d6f
2025-07-02[rubygems/rubygems] Fix typosDavid Rodríguez
https://github.com/rubygems/rubygems/commit/2a2317249f
2025-07-02[rubygems/rubygems] Add a `verbose` setting to enable verbose output for all ↵David Rodríguez
commands https://github.com/rubygems/rubygems/commit/0aa1be946f
2025-07-02[rubygems/rubygems] Fix `bundle console` printing bug report template on ↵Earlopain
`NameError` during require Followup to https://github.com/rubygems/rubygems/pull/8436 It fixed showing the template when requiring a non-existant file but user code can do much more than just trying to require other code. I encountered this particular case because of load order issues, where a library wasn't able to properly require itself when loaded before some other library. https://github.com/rubygems/rubygems/commit/1c910e5afe
2025-07-02[rubygems/rubygems] Log when `simulate_version` is enabledDavid Rodríguez
Tweak version output and verbose mode to be transparent about Bundler simulating a different version than the real one. https://github.com/rubygems/rubygems/commit/179354d153
2025-07-02[rubygems/rubygems] None of the global options have default so this seems ↵David Rodríguez
unnecessary https://github.com/rubygems/rubygems/commit/bea87eab0b
2025-07-02[rubygems/rubygems] Remove duplicated specDavid Rodríguez
https://github.com/rubygems/rubygems/commit/66aabcc9f3
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] Verify specs still using realworld gems still pass with ↵David Rodríguez
latest versions https://github.com/rubygems/rubygems/commit/9da44ade24
2025-07-02[rubygems/rubygems] Realworld optparse gem should be no longer necessaryDavid Rodríguez
Optparse was vendored a while ago. https://github.com/rubygems/rubygems/commit/d7afd43756
2025-07-02[rubygems/rubygems] Remove possibly incorrect specDavid Rodríguez
I spent quite a while on this and I have not been able to reproduce or even understand how the original issue would happen. I also suspect it never actually reproduced the original problem properly. Since I'm in the middle of migrating all specs away from touching the network, I decided to remove it since I can't write an equivalent spec without being able to understand the original problem. https://github.com/rubygems/rubygems/commit/c9dfa20877
2025-07-02[rubygems/rubygems] `bundle viz` deprecation specs don't actually need the ↵David Rodríguez
gem installed The deprecation message is printed regardless. https://github.com/rubygems/rubygems/commit/397999a390
2025-07-02[rubygems/rubygems] Spec about cleaning default gems executables no longer ↵David Rodríguez
needs realworld gems https://github.com/rubygems/rubygems/commit/9cf284997b