[
https://issues.apache.org/jira/browse/ACCUMULO-4423?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15451108#comment-15451108
]
Josh Elser commented on ACCUMULO-4423:
--------------------------------------
Alright, I pushed the "result" from the first round of reviews. Let's keep this
open to address any further concerns (it's so difficult to manage all of these
changes when a full test of every little thing in on the order of hours):
One point was the worry of uncategorized tests that would be ignored by an
invocation of {{mvn verify}}. The only one I see of these is
{{./maven-plugin/src/it/plugin-test/src/test/java/org/apache/accumulo/plugin/it/PluginIT.java}}
which I think would still be getting run all the time as its driven by the
invoker-plugin instead. This needs to be verified. ACCUMULO-4432 can track most
of this, I believe.
Another point of concern was the profiles introduce to easily enable groups of
these properties. They change
{noformat}
mvn verify
-Daccumulo.it.groups=org.apache.accumulo.test.categories.AnyClusterTest
-Daccumulo.it.excludeGroups=org.apache.accumulo.test.categories.MiniClusterOnlyTests
{noformat}
to
{noformat}
mvn verify -Pstandalone-capable-tests
{noformat}
and
{noformat}
mvn verify
-Daccumulo.it.groups=org.apache.accumulo.test.categories.MiniClusterOnlyTests
-Daccumulo.it.excludedGroups=org.apache.accumulo.test.categories.AnyClusterTests
{noformat}
to
{noformat}
mvn verify -Pminicluster-only-tests
{noformat}
I'm not sure how to have a technical debate when the concern is over
hypothetical groups/test-dimensions that are added in the future. This needs to
be hashed out some more apparently, because I think the above are great.
Personally, I equate it to what HBase have. They have profiles for small,
medium, and large tests. They also have profiles for devTesting (small+medium)
or allTests (small+medium+large). Their setup is a bit different than what we
now have, but i think the general plus-side is the same.
Documentation can likely always be improved. Other devs weighing in here would
be good (not just Christopher and myself arguing).
Finally, this will just need a close eye to make sure nothing else is broken.
Best as I can tell across three branches with 4 different configurations,
everything is ok, but, knowing my luck, something is busted.
> Define categories for integration test execution
> ------------------------------------------------
>
> Key: ACCUMULO-4423
> URL: https://issues.apache.org/jira/browse/ACCUMULO-4423
> Project: Accumulo
> Issue Type: Improvement
> Components: build, test
> Reporter: Josh Elser
> Assignee: Josh Elser
> Fix For: 1.7.3, 1.8.1, 2.0.0
>
> Time Spent: 8h 40m
> Remaining Estimate: 0h
>
> Had a thought the other day when talking to some folks about testing.
> Our current integration tests can be broken down into two categories:
> * Encapsulated (MiniCluster only)
> * Capable of using a Standalone Accumulo instance (instead of a MiniCluster)
> with any ITs that don't have MiniClusters (if there are any), I am lumping
> them into the Encapsulated category.
> Now, if I have an environment set up which I can run these Standalone tests
> against, it would be nice to just be able to execute those tests. I could
> then run the unit tests, checkstyle, findbugs, and encapsulated integration
> tests out of band, not tied to the lifetime (and cost) of that environment
> for the Standalone tests.
> It would be nice if we can use something like JUnit categories to group these
> tests and then provide the "hooks" in the build to let users specify which
> categories are executed.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)