Dave Collins
3b56ccaff7
Add interface test for NewestSha.
2013-10-15 10:22:46 -05:00
Dave Collins
0c8a15a9d5
Add tests to verify integrity after clearing cache.
...
This commit adds the infrastructure needed to re-run the integrity tests
after calling the InvalidBlockCache, InvalidateTxCache, and
InvalidateCache functions. The tests intentially randomize the order the
invalidate functions are called in to increase the likelyhood of finding
in issues realted to ordering of the calls.
2013-10-14 20:37:58 -05:00
Dave Collins
54ad820133
Combine two test functions used to fetch tx lists.
...
The two functions are nearly identical, so rather than repeating the
test code, refactor it into a separate function that takes a flag.
2013-10-14 19:26:23 -05:00
Dave Collins
a9d719f0c4
Separate interface integrity tests.
...
This paves the way for executing the integrity tests multiple times.
2013-10-14 18:31:01 -05:00
Dave Collins
9ec86518ac
Improve interface test error messages.
...
This commit changes the interface test errors to all report the block
height and hash prior to the failure. Test failures that transactions
also now report the transaction number and hash. The makes it much
easier to track down where a test failure occurs.
2013-10-14 18:27:12 -05:00
Dave Collins
c99416c121
Include db type in interface tests loading message.
2013-10-14 14:35:10 -05:00
Dave Collins
01af05c8ac
Add interface tests for FetchUnSpentTxByShaList.
2013-10-14 13:56:21 -05:00
Dave Collins
2ab3e0a382
Add interface tests for FetchTxByShaList.
2013-10-14 13:49:52 -05:00
Dave Collins
fb5f9c0b5a
Separate interface tests and add test context.
...
Rather than having one mammoth interface test function, create a test
context and several helper functions that accept the context.
2013-10-14 12:26:43 -05:00
Dave Collins
06cb2ec817
Add interface test for FetchTxBySha.
...
This commit adds an interface test for FetchTxBySha to ensure it returns
the same MsgTx that was part of an inserted block.
2013-10-14 12:26:43 -05:00
Dave Collins
6a3824b8aa
Add interface test for ExistsTxSha.
...
This commit adds an interface test for ExistsTxSha to ensure all
transactions inserted as a part of a block are available.
2013-10-14 12:26:42 -05:00
Dave Collins
f37fabb855
Add negative tests for FetchBlockShaByHeight.
...
This commit adds tests to ensure FetchBlockShaByHeight returns expected
errors when invalid heights are specified.
2013-10-14 12:26:41 -05:00
Dave Collins
06d6e5fce8
Add db type to test error outputs.
2013-10-14 12:26:40 -05:00
Dave Collins
6eebf02183
Add interface test for FetchBlockShaByHeight.
...
This commit adds an interface test for FetchBlockShaByHeight to ensure it
returns the same expected hash for each block inserted block height.
2013-10-14 12:26:40 -05:00
Dave Collins
670d83a74e
Improve error message for FetchBlockBySha test.wq
2013-10-14 12:26:39 -05:00
Dave Collins
396d1b056d
Add interface test for FetchBlockBySha.
...
This commit adds an interface test for FetchBlockBySha to ensure it
returns the same MsgBlock and raw bytes that were inserted.
2013-10-14 12:26:38 -05:00
Dave Collins
2d84623493
Move non-interface specific tests into db_test.go.
...
The idea here is that interface_test.go will be directly usable in each
implementation to increase test coverage there as well, but also works at
the top-most level to test arbitrary backends.
2013-10-14 12:26:37 -05:00
Dave Collins
ff429203c4
Start interface tests that require state.
2013-10-14 12:26:37 -05:00
Dave Collins
82d1898b12
Add interface test for unsupported dbtype failures.
...
This commit adds an interface test to ensure that the interface returns
the expected error when trying to open or create an unsupported database
type.
2013-10-14 12:26:36 -05:00
Dave Collins
d4c1214496
Add interface test for create and open failures.
...
This commit adds an interface test to ensure that failures which occur
while creating or opening a database are properly handled.
2013-10-14 12:26:35 -05:00
Dave Collins
53ea2cf0ba
Add interface test for adding a duplicate driver.
...
This commit adds an interface test to ensure that attempting to add a
duplicate driver for a given database type does not overwrite an existing
one.
2013-10-14 12:26:34 -05:00
Dave Collins
a27c37793b
Add basic infrastructure for interface tests.
...
This is simply at start at providing generic interface tests. The only
thing is tests so far is the empty database conditions on NewestSha, but
it adds infrastructure for creating and opening databases with special
type handling based on the database and necessary logic to teardown so
multiple backends can be tested simultaneously.
This and the next series of commits all discussed with drahn@.
2013-10-14 12:26:12 -05:00