+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 >
