bundle: consolidate specs to match unified package type classes#21757
Merged
MikeMcQuaid merged 2 commits intomainfrom Mar 19, 2026
Merged
bundle: consolidate specs to match unified package type classes#21757MikeMcQuaid merged 2 commits intomainfrom
MikeMcQuaid merged 2 commits intomainfrom
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
This PR consolidates Homebrew Bundle package-type specs so each unified package type class is tested in a single spec file, matching the recent implementation refactor that merged per-concern classes (dumper/installer/checker) into one.
Changes:
- Merge separate dumper/installer/checker specs into one spec per package type (e.g.,
*_spec.rb). - Update spec requires and described classes to target the unified package type classes.
- Reorganize examples under grouped
describeblocks like “dumping”, “installing”, and “checking”.
Reviewed changes
Copilot reviewed 29 out of 29 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| Library/Homebrew/test/bundle/brew_spec.rb | New consolidated spec for Homebrew::Bundle::Brew covering dumping + installing behaviors previously split across formula specs. |
| Library/Homebrew/test/bundle/formula_dumper_spec.rb | Removed; coverage moved into brew_spec.rb. |
| Library/Homebrew/test/bundle/formula_installer_spec.rb | Removed; coverage moved into brew_spec.rb. |
| Library/Homebrew/test/bundle/cask_spec.rb | New consolidated spec for Homebrew::Bundle::Cask combining dumping + installing. |
| Library/Homebrew/test/bundle/cask_dumper_spec.rb | Removed; coverage moved into cask_spec.rb. |
| Library/Homebrew/test/bundle/cask_installer_spec.rb | Removed; coverage moved into cask_spec.rb. |
| Library/Homebrew/test/bundle/tap_spec.rb | New consolidated spec for Homebrew::Bundle::Tap combining dumping + installing. |
| Library/Homebrew/test/bundle/tap_dumper_spec.rb | Removed; coverage moved into tap_spec.rb. |
| Library/Homebrew/test/bundle/tap_installer_spec.rb | Removed; coverage moved into tap_spec.rb. |
| Library/Homebrew/test/bundle/mac_app_store_spec.rb | New consolidated spec for Homebrew::Bundle::MacAppStore combining dumping + installing. |
| Library/Homebrew/test/bundle/mac_app_store_dumper_spec.rb | Removed; coverage moved into mac_app_store_spec.rb. |
| Library/Homebrew/test/bundle/mac_app_store_installer_spec.rb | Removed; coverage moved into mac_app_store_spec.rb. |
| Library/Homebrew/test/bundle/vscode_extension_spec.rb | New consolidated spec for Homebrew::Bundle::VscodeExtension combining dumping + installing. |
| Library/Homebrew/test/bundle/vscode_extension_dumper_spec.rb | Removed; coverage moved into vscode_extension_spec.rb. |
| Library/Homebrew/test/bundle/vscode_extension_installer_spec.rb | Removed; coverage moved into vscode_extension_spec.rb. |
| Library/Homebrew/test/bundle/go_spec.rb | New consolidated spec for Homebrew::Bundle::Go combining dumping + installing. |
| Library/Homebrew/test/bundle/go_dumper_spec.rb | Removed; coverage moved into go_spec.rb. |
| Library/Homebrew/test/bundle/go_installer_spec.rb | Removed; coverage moved into go_spec.rb. |
| Library/Homebrew/test/bundle/cargo_spec.rb | New consolidated spec for Homebrew::Bundle::Cargo combining dumping + installing. |
| Library/Homebrew/test/bundle/cargo_dumper_spec.rb | Removed; coverage moved into cargo_spec.rb. |
| Library/Homebrew/test/bundle/cargo_installer_spec.rb | Removed; coverage moved into cargo_spec.rb. |
| Library/Homebrew/test/bundle/uv_spec.rb | New consolidated spec for Homebrew::Bundle::Uv combining checking + dumping + installing. |
| Library/Homebrew/test/bundle/uv_checker_spec.rb | Removed; coverage moved into uv_spec.rb. |
| Library/Homebrew/test/bundle/uv_dumper_spec.rb | Removed; coverage moved into uv_spec.rb. |
| Library/Homebrew/test/bundle/uv_installer_spec.rb | Removed; coverage moved into uv_spec.rb. |
| Library/Homebrew/test/bundle/flatpak_spec.rb | New consolidated spec for Homebrew::Bundle::Flatpak combining checking + dumping + installing. |
| Library/Homebrew/test/bundle/flatpak_checker_spec.rb | Removed; coverage moved into flatpak_spec.rb. |
| Library/Homebrew/test/bundle/flatpak_dumper_spec.rb | Removed; coverage moved into flatpak_spec.rb. |
| Library/Homebrew/test/bundle/flatpak_installer_spec.rb | Removed; coverage moved into flatpak_spec.rb. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
You can also share your feedback on Copilot code review. Take the survey.
The recent refactoring (eac1886, 3b43ae9, cd65e94) unified each bundle package type into a single class, but the specs were still split across separate dumper, installer, and checker files. This made it harder to see the full test surface for a given type and kept the test layout out of sync with the implementation it covers. Merge the per-concern specs into one file per package type (e.g. cargo_spec.rb replaces cargo_dumper_spec.rb and cargo_installer_spec.rb), update requires and class references to target the unified classes, and organise the combined examples under "dumping", "installing", and "checking" describe blocks.
c98a2aa to
4c0e9ca
Compare
p-linnane
approved these changes
Mar 18, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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 recent refactoring (eac1886, 3b43ae9, cd65e94) unified each bundle package type into a single class, but the specs were still split across separate dumper, installer, and checker files. This made it harder to see the full test surface for a given type and kept the test layout out of sync with the implementation it covers.
Merge the per-concern specs into one file per package type (e.g. cargo_spec.rb replaces cargo_dumper_spec.rb and cargo_installer_spec.rb), update requires and class references to target the unified classes, and organise the combined examples under "dumping", "installing", and "checking" describe blocks.
Next/final step will be to remove the stub classes that existed only for these tests to not require modification.
brew lgtm(style, typechecking and tests) with your changes locally?Claude Opus 4.6 used and verified tests passing locally.