diff options
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/java/com/amazon/carbonado/TestStorables.java | 24 | ||||
| -rw-r--r-- | src/test/java/com/amazon/carbonado/TestUtilities.java | 13 |
2 files changed, 30 insertions, 7 deletions
diff --git a/src/test/java/com/amazon/carbonado/TestStorables.java b/src/test/java/com/amazon/carbonado/TestStorables.java index 90048d7..f03fc0f 100644 --- a/src/test/java/com/amazon/carbonado/TestStorables.java +++ b/src/test/java/com/amazon/carbonado/TestStorables.java @@ -22,6 +22,7 @@ import java.util.Comparator; import java.util.List; import junit.framework.TestCase; +import junit.framework.TestSuite; import org.joda.time.DateTime; import org.joda.time.DateTimeZone; @@ -52,12 +53,12 @@ import com.amazon.carbonado.stored.*; /** * Runs an extensive set of acceptance tests for a repository. Must be - * subclassed to specify a repository to use. + * subclassed to change the repository to use. * * @author Don Schneider * @author Brian S O'Neill */ -public abstract class TestStorables extends TestCase { +public class TestStorables extends TestCase { public static final long sSetId = 0x1L << 0; // 0x0001 public static final long sGetStringProp = 0x1L << 1; // 0x0002 @@ -111,6 +112,14 @@ public abstract class TestStorables extends TestCase { private Repository mRepository; private static int s_Ids = 0; + public static void main(String[] args) { + junit.textui.TestRunner.run(suite()); + } + + public static TestSuite suite() { + return new TestSuite(TestStorables.class); + } + public TestStorables(String s) { super(s); } @@ -139,10 +148,11 @@ public abstract class TestStorables extends TestCase { } /** - * Subclasses must implement this method to specify a repository. + * Subclasses may override this method to change the repository. */ - protected abstract Repository newRepository(boolean isMaster) - throws RepositoryException; + protected Repository buildRepository(boolean isMaster) throws RepositoryException { + return TestUtilities.buildTempRepository(isMaster); + } /** * provide subsequent access to the repository so the tests can do fancy things if @@ -151,7 +161,7 @@ public abstract class TestStorables extends TestCase { */ protected Repository getRepository() throws RepositoryException { if (mRepository == null) { - mRepository = newRepository(true); + mRepository = buildRepository(true); } return mRepository; } @@ -970,7 +980,7 @@ public abstract class TestStorables extends TestCase { public void test_versioningDisabled() throws Exception { // Make sure repository works properly when configured as non-master. - Repository repo = newRepository(false); + Repository repo = buildRepository(false); Storage<StorableVersioned> storage = repo.storageFor(StorableVersioned.class); StorableVersioned s = storage.prepare(); diff --git a/src/test/java/com/amazon/carbonado/TestUtilities.java b/src/test/java/com/amazon/carbonado/TestUtilities.java index 65b4a13..4132ac8 100644 --- a/src/test/java/com/amazon/carbonado/TestUtilities.java +++ b/src/test/java/com/amazon/carbonado/TestUtilities.java @@ -65,17 +65,30 @@ public class TestUtilities { return buildTempRepository("test");
}
+ public static Repository buildTempRepository(boolean isMaster) {
+ return buildTempRepository("test", isMaster);
+ }
+
public static Repository buildTempRepository(String name) {
return buildTempRepository(name, DEFAULT_CAPACITY);
}
+ public static Repository buildTempRepository(String name, boolean isMaster) {
+ return buildTempRepository(name, DEFAULT_CAPACITY, isMaster);
+ }
+
public static Repository buildTempRepository(String name, int capacity) {
+ return buildTempRepository(name, capacity, true);
+ }
+
+ public static Repository buildTempRepository(String name, int capacity, boolean isMaster) {
BDBRepositoryBuilder builder = new BDBRepositoryBuilder();
builder.setProduct("JE");
builder.setName(name);
builder.setTransactionNoSync(true);
builder.setCacheSize(capacity);
builder.setLogInMemory(true);
+ builder.setMaster(isMaster);
if (sTempRepoDir == null) {
sTempRepoDir = makeTestDirectoryString(name);
|
