You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by "Gabriel Reid (JIRA)" <ji...@apache.org> on 2014/03/10 12:13:47 UTC

[jira] [Updated] (PHOENIX-130) Separate execution of slow (integration) tests from fast unit tests

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

Gabriel Reid updated PHOENIX-130:
---------------------------------

    Attachment: PHOENIX-130.patch

Huge patch to make the change. For ease of review, an overview of what is happening in the patch:
* Create a new integration test source directory in crunch-core under src/it/main
* Move all integration tests to src/it/main
* Rename all integration tests to follow convention ${name}IT.java
* Set up failsafe plugin in pom to run integration tests

After applying this patch, running “mvn clean test” runs in less than 30 seconds, and runs 663 tests within that time. Running “mvn clean install” will include the running of all integration tests like before.

This patch also made it clear that there is an issue with org.apache.phoenix.compile.WhereCompilerTest#testToNumberFilterWithPatternParam, so I’ve added the @Ignore annotation to that test for now

> Separate execution of slow (integration) tests from fast unit tests
> -------------------------------------------------------------------
>
>                 Key: PHOENIX-130
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-130
>             Project: Phoenix
>          Issue Type: Improvement
>            Reporter: Gabriel Reid
>         Attachments: PHOENIX-130.patch
>
>
> The current collection of automated unit tests and integration tests takes a significant amount of time to run (somewhere in the neighborhood of 90 minutes on my machine).
> I’d like to propose that the automated tests are split up into two groups:
> * unit tests, which don’t make use of a running HBase and run quickly, and will be run within the maven test phase
> * integration tests, which do make use of a running HBase and run more slowly, and will be run within the maven integration-test phase
> This approach has the advantage that all fast-running unit tests will be run before the integration tests, so if there is a minor issue the build will fail-fast instead of first running long-running integration tests before failing. It also makes it possible to quickly and regularly run “mvn test” during development to run all unit tests in a matter of seconds.



--
This message was sent by Atlassian JIRA
(v6.2#6252)