accumulo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Christopher <ctubb...@apache.org>
Subject Re: [jira] [Resolved] (ACCUMULO-3167) Decouple MiniAccumuloCluster from integration test base class
Date Wed, 26 Nov 2014 22:51:04 GMT
I've thought a *tiny* bit about this, and have thought that it might be
useful to switch over the "-P sunny" profile in maven to use categories[1]
(groups in surefire[2]). I haven't put a lot of thought into it, but it
might be one way to utilize categories, if we decide to use these
annotations as part of a more comprehensive organization of our tests.

[1]
https://weblogs.java.net/blog/johnsmart/archive/2010/04/25/grouping-tests-using-junit-categories-0
[2]
http://maven.apache.org/surefire/maven-surefire-plugin/test-mojo.html#groups


--
Christopher L Tubbs II
http://gravatar.com/ctubbsii

On Wed, Nov 26, 2014 at 12:17 AM, Josh Elser <josh.elser@gmail.com> wrote:

> Please file a JIRA and make the proposal on how it would fit into a test.
> Preferably, change all of the tests too :)
>
>
> Mike Drob wrote:
>
>> Instead of relying on Assumes and/or an overriden method, we should have
>> category annotations.
>>
>> https://github.com/junit-team/junit/wiki/Categories
>>
>> On Tue, Nov 25, 2014 at 10:35 PM, Josh Elser<josh.elser@gmail.com>
>> wrote:
>>
>>  Heads up for those that might not have been following this.
>>>
>>> I revamped how nearly all of our ITs work. In practice, it changed
>>> relatively little in the tests themselves. If you want to know how to use
>>> the changes I've made, check out the top-level TESTING file I recently
>>> added.
>>>
>>> A brief tl;dr on how write new ITs (don't worry about getting this 100%
>>> --
>>> I'm happy to help port new tests you might write using the old
>>> ConfigurableMacIT or SimpleMacIT classes), is that if you need Accumulo
>>> available for a test, extend AccumuloClusterIT and use the
>>> getConnector(),
>>> getCluster() and getClusterControl() methods on that class to do what you
>>> need. Try to not rely on MiniAccumuloCluster(Impl) specific methods.
>>>
>>> If there is something you specifically want to do with
>>> MiniAccumuloCluster(Impl) or your test is doing something destructive or
>>> otherwise unrecoverable to the instance, use JUnit's Assume to only run
>>> your test when AccumuloClusterIT#getClusterType == ClusterType.MINI or
>>> override AccumuloClusterIT#canRunTest.
>>>
>>> As always, ask questions.
>>>
>>> -------- Original Message --------
>>> Subject: [jira] [Resolved] (ACCUMULO-3167) Decouple MiniAccumuloCluster
>>> from integration test base class
>>> Date: Wed, 26 Nov 2014 04:25:13 +0000 (UTC)
>>> From: Josh Elser (JIRA)<jira@apache.org>
>>> Reply-To: jira@apache.org
>>> To: notifications@accumulo.apache.org
>>>
>>>
>>>       [ https://issues.apache.org/jira/browse/ACCUMULO-3167?
>>> page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
>>>
>>> Josh Elser resolved ACCUMULO-3167.
>>> ----------------------------------
>>>      Resolution: Fixed
>>>
>>> Submitted -- a couple of follow on tasks already identified.
>>>
>>>   Decouple MiniAccumuloCluster from integration test base class
>>>
>>>> -------------------------------------------------------------
>>>>
>>>>                  Key: ACCUMULO-3167
>>>>                  URL: https://issues.apache.org/
>>>> jira/browse/ACCUMULO-3167
>>>>              Project: Accumulo
>>>>           Issue Type: Improvement
>>>>           Components: mini, test
>>>>             Reporter: Josh Elser
>>>>             Assignee: Josh Elser
>>>>              Fix For: 1.6.2, 1.7.0
>>>>
>>>>           Time Spent: 1h 20m
>>>>   Remaining Estimate: 0h
>>>>
>>>> (apologies if I already had a ticket for this somewhere, I couldn't find
>>>> it)
>>>> Our integration tests are very nice and automated at the moment because
>>>> we can use MiniAccumuloCluster to "provision" an Accumulo instance (or
>>>> used
>>>> a shared instance), and run a test against it. For the most part, this
>>>> works well and provides an accurate test harness.
>>>> Thus, to run integration tests, you need a sufficiently beefy machine
>>>> since the same host will be running all of Accumulo as well as
>>>> performing
>>>> any client work. When resources are available to use, it would be nice
>>>> to
>>>> leverage them -- whether these are yarn, mesos, a vanila installation,
>>>> etc.
>>>> In addition to the additional computational power from using extra
>>>> hardware, it also encourages us to use the public API as much as
>>>> possible
>>>> instead of relying on "hidden" impl methods in MiniAccumuloCluster.
>>>> I propose making changes to the IT test base (AbstractMacIT,
>>>> SimpleMacIT,
>>>> ConfigurableMacIT) to add an extra step between them an test classes to
>>>> allow "injection" of a more generic Accumulo "cluster" that is not
>>>> associated with MAC.
>>>>
>>>>
>>>
>>> --
>>> This message was sent by Atlassian JIRA
>>> (v6.3.4#6332)
>>>
>>>
>>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message