helix-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "kishore gopalakrishna (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HELIX-77) Skip tests in default build or separate unit/integration tests
Date Fri, 05 Apr 2013 19:49:16 GMT

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

kishore gopalakrishna commented on HELIX-77:

Hi Max,

You are right, the failure was not because of the patch. The Jenkins box provided by Apache
is not the best and the time taken for tests to run vary quite a lot for every run. We never
have this issue within our company. 

There are couple of things we need to re-design in Helix to make the tests run in a reliable
way. For the integration test, we bring up zookeeper and tear it down after the test is complicated.
This has resulted in many tests getting stuck at shutting down zookeeper and some times the
port is not freed by the previous zookeeper so the new zookeeper never starts. 

Most of the integration tests should be under integration package. If there is a test that
starts/stops zookeeper but not under integration test we should move it under integration

We rely heavily of integration tests, they catch most of the issues. Other Apache projects
have this automated QA job setup that applies the patch and does some checks like did coverage
come down? find bugs increased? compiles, tests pass etc.

I dont know how to set it up but I think we need to do some clean up in the existing test
framework so that we get a reliable mechanism to say if a patch broke the build.

We should create a separate jira for sanitizing test cases. Thanks again for driving this,
feel free to suggest improvements.

> Skip tests in default build or separate unit/integration tests
> --------------------------------------------------------------
>                 Key: HELIX-77
>                 URL: https://issues.apache.org/jira/browse/HELIX-77
>             Project: Apache Helix
>          Issue Type: Improvement
>            Reporter: Max Calderoni
>            Priority: Minor
>         Attachments: cleanupsNew.diff, cleanups.patch, helix-77.patch, patchBoth.diff,
separateintegtestsNew.diff, separateintegtests.patch
> A couple of miscellaneous questions about how you require building helix.
> Would it be possible to skip tests by default in your pom?
> Normally, after cloning sources (for experimenting/browsing), you would do:
> mvn clean install
> which for helix should take maybe 10-30 seconds.
> Because you have tests turned on by default the build takes much much longer (it looks
like there are integration tests in the mix, not only fast unit tests).
> I think it would be more usable for people doing 'mvn clean install' rather than the
more verbose:
> mvn clean install -Dmaven.test.skip.exec=true
> Attaching a patch that shows what i mean in the pom.
> The other related question is about integration tests. The reason why takes so long to
build is maybe because not all tests being run are unit tests.
> Sometimes there is no clear distinction between integration and unit tests, but the point
is that the build should be fast, so one way to distinguish, arguably, is that if a test is
slow is not a unit test.
> I can show one way of separating unit and integration tests in Maven (Maven does not
have very good support for this, there are different ways to work around it) in a later post
to this. Please let me know if there is any interest in correcting this.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

View raw message