Skip to content

Group resolution tests into submodules#756

Open
alexcrocha wants to merge 19 commits intomainfrom
04-17-group-resolution-tests
Open

Group resolution tests into submodules#756
alexcrocha wants to merge 19 commits intomainfrom
04-17-group-resolution-tests

Conversation

@alexcrocha
Copy link
Copy Markdown
Contributor

@alexcrocha alexcrocha commented Apr 18, 2026

Part of #649

By grouping the tests into semantically coherent submodules, we get collapsible navigation in editors and a layout that shows the resolver's surface area: constant lookup, ancestors/MRO, method dispatch, state & storage, dynamic/meta, and RBS. No test bodies change, each commit is a pure relocation.

Final layout:

Constant Lookup:

mod constant_resolution_tests;
mod constant_alias_tests;

Ancestors & Method Resolution Order:

mod superclass_tests;
mod include_tests;
mod prepend_tests;
mod mixin_dedup_tests;
mod object_ancestors_tests;
mod singleton_ancestors_tests;

Method Dispatch:

mod method_tests;
mod method_alias_tests;

State & Storage:

mod variable_tests;
mod declaration_creation_tests;
mod singleton_class_tests;
mod fqn_and_naming_tests;
mod todo_tests;

Dynamic / Meta:

mod dynamic_namespace_tests;
mod promotability_tests;

RBS:

mod rbs_tests;

Copy link
Copy Markdown
Contributor Author

This stack of pull requests is managed by Graphite. Learn more about stacking.

@alexcrocha alexcrocha self-assigned this Apr 18, 2026
@alexcrocha alexcrocha added the chore Something that should not be included in release notes label Apr 18, 2026
@alexcrocha alexcrocha marked this pull request as ready for review April 18, 2026 01:25
@alexcrocha alexcrocha requested a review from a team as a code owner April 18, 2026 01:25
@alexcrocha alexcrocha changed the title Group constant resolution tests into submodule Group resolution tests into submodules Apr 18, 2026
@alexcrocha alexcrocha force-pushed the 04-17-group-resolution-tests branch from c9042e2 to cf66a55 Compare April 27, 2026 17:02
Copy link
Copy Markdown
Member

@vinistock vinistock left a comment

Choose a reason for hiding this comment

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

IMO, I think the modules are bit too granular. For example, I would have a single ancestors module for everything related to ancestor chains rather than include, prepend... Especially because some of the scenarios mix things, so where would those go?

That said, we can always adjust

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

chore Something that should not be included in release notes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants