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