[ 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