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) <[email protected]>
Reply-To: [email protected]
To: [email protected]
[
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)