Skip to content

bundle: consolidate specs to match unified package type classes#21757

Merged
MikeMcQuaid merged 2 commits intomainfrom
bundle-consolidate-test-files
Mar 19, 2026
Merged

bundle: consolidate specs to match unified package type classes#21757
MikeMcQuaid merged 2 commits intomainfrom
bundle-consolidate-test-files

Conversation

@MikeMcQuaid
Copy link
Member

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.


  • Have you followed the guidelines in our Contributing document?
  • Have you checked to ensure there aren't other open Pull Requests for the same change?
  • Have you added an explanation of what your changes do and why you'd like us to include them?
  • Have you written new tests for your changes? Here's an example.
  • Have you successfully run brew lgtm (style, typechecking and tests) with your changes locally?

  • AI was used to generate or assist with generating this PR. Please specify below how you used AI to help you, and what steps you have taken to manually verify the changes.

Claude Opus 4.6 used and verified tests passing locally.


Copilot AI review requested due to automatic review settings March 18, 2026 14:29
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 describe blocks 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.
@MikeMcQuaid MikeMcQuaid force-pushed the bundle-consolidate-test-files branch from c98a2aa to 4c0e9ca Compare March 18, 2026 15:16
@MikeMcQuaid MikeMcQuaid added this pull request to the merge queue Mar 18, 2026
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Mar 18, 2026
@MikeMcQuaid MikeMcQuaid added this pull request to the merge queue Mar 19, 2026
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Mar 19, 2026
@MikeMcQuaid MikeMcQuaid enabled auto-merge March 19, 2026 08:59
@MikeMcQuaid MikeMcQuaid added this pull request to the merge queue Mar 19, 2026
Merged via the queue into main with commit 9f24bb1 Mar 19, 2026
38 checks passed
@MikeMcQuaid MikeMcQuaid deleted the bundle-consolidate-test-files branch March 19, 2026 09:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants