[ 
https://issues.apache.org/jira/browse/IMPALA-7807?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Paul Rogers resolved IMPALA-7807.
---------------------------------
    Resolution: Fixed

> Analysis test fixture to enable deeper testing
> ----------------------------------------------
>
>                 Key: IMPALA-7807
>                 URL: https://issues.apache.org/jira/browse/IMPALA-7807
>             Project: IMPALA
>          Issue Type: Improvement
>          Components: Frontend
>    Affects Versions: Impala 3.0
>            Reporter: Paul Rogers
>            Assignee: Paul Rogers
>            Priority: Minor
>
> The Impala front-end provides a number of JUnit tests such as 
> {{ExprRewriteRulesTest}}. These tests verify rewrites by providing layers of 
> functions that build up a query, analyze the query, run rewrite rules, and 
> test one part of the result.
> The tests are fine as far as they go, but they do not cover all cases. For 
> example, they tests rewrites in the {{SELECT}} clause, but not {{ORDER BY}} 
> or {{GROUP BY}}. (Testing of those uncovered previously hidden bugs.) In some 
> cases, we want to test rewrite rules in detail, but the existing tests only 
> support a wholesale rewrite.
> Since the existing tests are function based, it is hard to inject new 
> behavior somewhere in the process, for example, to test the {{WHERE}} clause 
> rather than {{SELECT}} To do that, we need to copy the {{SELECT}} functions, 
> and make changes to test {{WHERE}}.
> Since copying of code is generally an undesirable approach, a better approach 
> is to use a "test fixture": a class that performs the required steps, 
> maintains intermediate state for inspection, and acts as the foundation for 
> various kinds of tests (such as the various clauses mentioned above.)
> In practice, all that is required is moving some code from functions on the 
> test class to be methods on a fixture class, which also holds onto state that 
> would otherwise be lost in function calls.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-all-unsubscr...@impala.apache.org
For additional commands, e-mail: issues-all-h...@impala.apache.org

Reply via email to