public class TestRWJournal extends AbstractJournalTestCase
BufferMode.DiskRW
journals.Modifier and Type | Class and Description |
---|---|
static class |
TestRWJournal.TestInterrupts
Test suite integration for
AbstractInterruptsTestCase . |
static class |
TestRWJournal.TestMRMW
Test suite integration for
AbstractMRMWTestCase . |
static class |
TestRWJournal.TestMROW
Test suite integration for
AbstractMROWTestCase . |
static class |
TestRWJournal.TestRawStore
Test suite integration for
AbstractRestartSafeTestCase . |
TestCase2.MyProperties, TestCase2.RandomType
_randomType, log
Constructor and Description |
---|
TestRWJournal() |
TestRWJournal(String name) |
Modifier and Type | Method and Description |
---|---|
Properties |
getProperties()
Returns properties read from a hierarchy of sources.
|
static junit.framework.Test |
suite() |
void |
test_create_disk01()
Verify normal operation and basic assumptions when creating a new journal
using
BufferMode.DiskRW . |
void |
test_create_emptyFile()
Unit test verifies that
Options.CREATE may be used to initialize
a journal on a newly created empty file. |
void |
test_deleteBlocksDiscardedOnReset()
Unit test for an issue where the
RWStore did not discard the
logged delete blocks in RWStore.reset() . |
void |
test_removeAllRWStore()
Unit tests for optimization when using the
RWStore but not using
delete markers. |
void |
testRWBits()
The RWStore relies on several bit manipulation methods to manage both FixedAllocators
and meta allocations.
|
getStore, reopenStore, setUp, tearDown
checkIfProxy, fail, getRandomData, setUp, tearDown
assertCondition, assertCondition, assertEquals, assertEquals, getBytes, getPort, getRandomData, getRandomData
assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEqualsWithinUlps, assertSameArray, assertSameArray, assertSameBigDecimal, assertSameBigDecimal, assertSameBigInteger, assertSameBigInteger, assertSameIterator, assertSameIterator, assertSameIteratorAnyOrder, assertSameIteratorAnyOrder, assertSameValue, assertSameValue, assertZeroUlps, assertZeroUlps, fail, getInnerCause, getNormalInt, getProjectBuildPath, getRandomObject, getRandomObject, getRandomOrder, getRandomString, getTestInputStream, getTestResource, getTestResource, getUlps, getUlps, isDEBUG, isDEBUG, isINFO, isINFO, isInnerCause, logProperties
assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertFalse, assertFalse, assertNotNull, assertNotNull, assertNotSame, assertNotSame, assertNull, assertNull, assertSame, assertSame, assertTrue, assertTrue, countTestCases, createResult, fail, fail, failNotEquals, failNotSame, failSame, format, getName, run, run, runBare, runTest, setName, toString
public TestRWJournal()
public TestRWJournal(String name)
public static junit.framework.Test suite()
public Properties getProperties()
AbstractJournalTestCase
Returns properties read from a hierarchy of sources. The underlying properties read from those sources are cached, but a new properties object is returned on each invocation (to prevent side effects by the caller).
In general, a test configuration critically relies on both the properties returned by this method and the appropriate properties must be provided either through the command line or in a properties file.
getProperties
in class AbstractJournalTestCase
public void testRWBits()
This test stresses these methods.
public void test_create_disk01() throws IOException
BufferMode.DiskRW
.IOException
public void test_create_emptyFile() throws IOException
Options.CREATE
may be used to initialize
a journal on a newly created empty file.IOException
public void test_removeAllRWStore()
RWStore
but not using
delete markers. In this case, a post-order traversal is used to
efficiently delete the nodes and leaves and the root leaf is then
replaced.public void test_deleteBlocksDiscardedOnReset()
RWStore
did not discard the
logged delete blocks in RWStore.reset()
.
This test writes some records and commits. It then deletes those records
and invokes RWStore.reset()
. It then re-deletes those records and
commits. If we have failed to discard the logged deletes, then we will
now have double-deletes in the delete blocks for that commit point. The
commit time is noted.
Next, the test creates several more commit points in order to trigger recycling. We verify that the commit record for the commit time noted above is no longer accessible. If the test reaches this point, then we know that double-deletes were not logged.
Note: This test was verified as correctly detecting the bug described in the ticket.
Note: The recycler MUST be used for this test.
Copyright © 2006–2019 SYSTAP, LLC DBA Blazegraph. All rights reserved.