[ 
https://issues.apache.org/jira/browse/CALCITE-6335?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17944818#comment-17944818
 ] 

Julian Hyde commented on CALCITE-6335:
--------------------------------------

[~mbudiu], I agree with your goal - use abstraction to create reusable tests, 
then run those tests in several environments. Just a caution that Quidem's 
facilities for abstraction may need a little work. Maybe you would want to set 
variables in a script and then unset/reset them when it finishes (standard 
behavior for calling a subroutine) but Quidem may not yet support that. It's no 
worse than shell scripts.

[~jensen] I like the idea of a mini-language to specify rules. It seems that 
you are creating a HepProgram (or similar) via a string representation, so the 
parser should be {{{}HepProgram.createFrom(String){}}}.

Programs with multiple rules will be difficult to maintain unless they can be 
spread over several lines and include whitespace, e.g.
{noformat}
!set rules "-CoreRules.INTERSECT_TO_DISTINCT,\n\
            -EnumerableRules.ENUMERABLE_INTERSECT_RULE,\n\
            +CoreRules.INTERSECT_TO_SEMI_JOIN"{noformat}
 

> Quidem tests should allow specifying optimization passes to apply to programs
> -----------------------------------------------------------------------------
>
>                 Key: CALCITE-6335
>                 URL: https://issues.apache.org/jira/browse/CALCITE-6335
>             Project: Calcite
>          Issue Type: Improvement
>          Components: core
>    Affects Versions: 1.36.0
>            Reporter: Mihai Budiu
>            Assignee: Zhen Chen
>            Priority: Minor
>              Labels: pull-request-available
>
> This facility would make it much easier to test various optimization passes.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to