+1 on the idea, it's impractical to lose git history for the existing
tests, but we can surely start for new tests/rules.

Best regards,
Alessandro

On Fri, Feb 20, 2026, 00:25 Mihai Budiu <[email protected]> wrote:

> Sure, big files are annoying.
>
> Mihai
>
> ------------------------------
> *From:* Stamatis Zampetakis <[email protected]>
> *Sent:* Thursday, February 19, 2026 5:53 AM
> *To:* [email protected] <[email protected]>
> *Subject:* [DISCUSS] Stop testing rules inside RelOptRulesTest
>
> Hi all,
>
> The RelOptRulesTest.java has 12K lines of code and the respective
> RelOptRulesTest.xml file has 22K. Wherever we want to add tests for a
> specific rule we tend to put it there so inevitably these files are
> getting bigger and bigger, navigation becomes harder, conflicts
> increase, naming becomes challenging, etc.
>
> From now onwards we could adopt another pattern where the tests for
> each new rule (e.g., AggregateFilterMagicRule.java) reside into their
> own dedicated testing class (AggregateFilterMagicRuleTest.java) and
> XML file (AggregateFilterMagicRuleTest.xml). In other words, we stop
> adding tests in RelOptRulesTest.java at least for new rules. Thanks to
> the presence of the RelOptFixture class separating tests into
> dedicated classes is trivial and boilerplate code that is required for
> setting it up (e.g., DiffRepo) is rather minimal.
>
> Let me know your thoughts.
>
> Best,
> Stamatis
>

Reply via email to