drill-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jason Altekruse (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (DRILL-2026) Consider: speed up dev. tests using Maven "integration-test" phase
Date Wed, 26 Aug 2015 22:47:45 GMT

    [ https://issues.apache.org/jira/browse/DRILL-2026?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14715662#comment-14715662

Jason Altekruse commented on DRILL-2026:

[~__andrew] Why did you copy a bunch of stuff out of BaseTestQuery into DrillIntegrationTestBase?
There is an argument that the naming of the class should be consistent with it's newly clarified
purpose, but this should definitely happen with a renaming of the current class, not a duplication
of the code.

That being said, as this is going to touch so many existing test files that extend BaseTestQuery,
I don't think renaming the class is worth it right now. We can document the class to say that
it should be used to write integration tests, as well as enable unit tests to be run separately
from the integration tests, which I think would be sufficient for now.

It might be the most useful to identify all of the test classes that don't extend BaseTestQuery
(or extend it but have some tests that don't use the drillbit it provides), those will be
our starting library of true unit tests that don't spin up an in-process Drillbit and run
full SQL queries.

> Consider: speed up dev. tests using Maven "integration-test" phase
> ------------------------------------------------------------------
>                 Key: DRILL-2026
>                 URL: https://issues.apache.org/jira/browse/DRILL-2026
>             Project: Apache Drill
>          Issue Type: Improvement
>          Components: Tools, Build & Test
>            Reporter: Daniel Barclay (Drill)
>            Assignee: Jason Altekruse
>             Fix For: 1.2.0
> Because many of our unit test classes (unit tests in the sense of being run by Surefire
in Maven's "test" phase) need to have a running Drillbit, then because they are unit tests,
each such test class starts up its own Drillbit, taking quite a while, especially considering
the aggregate time.
> Consider moving Drillbit-needing tests to be Maven integration tests (run in Maven's
"integration-test" phase by Failsafe).
> That would allow for starting up a Drillbit (or multiple Drillbits and other servers)
in Maven's "pre-integration-test" phase, using those servers for all tests, and shutting down
the servers in Maven's "post-integration-test" phase.
> That should save quite a lot of time--the product of the time per Drillbit startup plus
shutdown and the number of test classes changed to integration tests.

This message was sent by Atlassian JIRA

View raw message