GitHub user paul-rogers opened a pull request:

    https://github.com/apache/drill/pull/710

    DRILL-5126: Provide simplified, unified "cluster fixture" for test

    Drill provides a robust selection of test frameworks that have evolved to 
satisfy the needs of a variety of test cases. However, some do some of what a 
given test needs, while others to other parts. Also, the various frameworks 
make assumptions (in the form of boot-time configuration) that differs from 
what some test may need, forcing the test to start, then stop, then restart a 
Drillbit - an expensive operation.
    
    Also, many ways exist to run queries, but they all do part of the job. 
Several ways exist to change runtime options.
    
    This checkin shamelessly grabs the best parts from existing frameworks, 
adds a fluent builder facade and provides a complete, versitie test framework 
for new tests. Old tests are unaffected by this new code.
    
    An adjustment was made to allow use of the existing TestBuilder mechanism. 
TestBuilder used to depend on static members of BaseTestQuery. A "shim" allows 
the same code to work in the old way for old tests, but with the new 
ClusterFixture for new tests.
    
    Details are in the org.apache.drill.test.package-info.java file.
    
    This commit modifies a single test case, TestSimpleExternalSort, to use the 
new framework. More cases will follow once this framework itself is committed.
    
    Also, the framework will eventually allow use of the extended mock data 
source from SQL. However, that change must await checkin of the mock data 
source changes.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/paul-rogers/drill DRILL-5126

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/drill/pull/710.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #710
    
----
commit 1df75e40535209c74f4e8dd807ced560bbea2e50
Author: Paul Rogers <[email protected]>
Date:   2016-12-13T21:41:23Z

    DRILL-5126: Provide simplified, unified "cluster fixture" for test
    
    Drill provides a robust selection of test frameworks that have evolved to 
satisfy the needs of a variety of test cases.
    However, some do some of what a given test needs, while others to other 
parts. Also, the various frameworks make
    assumptions (in the form of boot-time configuration) that differs from what 
some test may need, forcing the test
    to start, then stop, then restart a Drillbit - an expensive operation.
    
    Also, many ways exist to run queries, but they all do part of the job. 
Several ways exist to channge
    runtime options.
    
    This checkin shamelessly grabs the best parts from existing frameworks, 
adds a fluent builder facade
    and provides a complete, versitie test framework for new tests. Old tests 
are unaffected by this
    new code.
    
    An adjustment was made to allow use of the existing TestBuilder mechanism. 
TestBuilder used to
    depend on static members of BaseTestQuery. A "shim" allows the same code to 
work in the old
    way for old tests, but with the new ClusterFixture for new tests.
    
    Details are in the org.apache.drill.test.package-info.java file.
    
    This commit modifies a single test case, TestSimpleExternalSort, to use the 
new framework.
    More cases will follow once this framework itself is committed.
    
    Also, the framework will eventually allow use of the extended mock data 
source
    from SQL. However, that change must await checkin of the mock data source 
changes.

----


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

Reply via email to