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