aboutsummaryrefslogtreecommitdiffstats
path: root/blockchain.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'blockchain.cpp')
-rw-r--r--blockchain.cpp15
1 files changed, 10 insertions, 5 deletions
diff --git a/blockchain.cpp b/blockchain.cpp
index ac872c0f..0341d92b 100644
--- a/blockchain.cpp
+++ b/blockchain.cpp
@@ -50,7 +50,7 @@ void doBlockchainTests(json_spirit::mValue& _v, bool _fillin)
BOOST_REQUIRE(o.count("pre"));
ImportTest importer(o["pre"].get_obj());
- State state(Address(), OverlayDB(), BaseState::Empty);
+ State state(biGenesisBlock.coinbaseAddress, OverlayDB(), BaseState::Empty);
importer.importState(o["pre"].get_obj(), state);
o["pre"] = fillJsonWithState(state);
state.commit();
@@ -119,7 +119,12 @@ void doBlockchainTests(json_spirit::mValue& _v, bool _fillin)
// make uncle header valid
uncleBlockFromFields.timestamp = (u256)time(0);
if (vBiBlocks.size() > 2)
- uncleBlockFromFields.populateFromParent(vBiBlocks[vBiBlocks.size()-2]);
+ {
+ if (uncleBlockFromFields.number - 1 < vBiBlocks.size())
+ uncleBlockFromFields.populateFromParent(vBiBlocks[(size_t)uncleBlockFromFields.number - 1]);
+ else
+ uncleBlockFromFields.populateFromParent(vBiBlocks[vBiBlocks.size() - 2]);
+ }
else
continue;
@@ -227,7 +232,6 @@ void doBlockchainTests(json_spirit::mValue& _v, bool _fillin)
if (sha3(RLP(state.blockData())[2].data()) != sha3(RLP(block2.out())[2].data()))
cnote << "uncle list mismatch\n" << RLP(state.blockData())[2].data() << "\n" << RLP(block2.out())[2].data();
-
try
{
state.sync(bc);
@@ -246,6 +250,7 @@ void doBlockchainTests(json_spirit::mValue& _v, bool _fillin)
blArray.push_back(blObj);
}
o["blocks"] = blArray;
+ o["postState"] = fillJsonWithState(state);
}
else
@@ -623,9 +628,9 @@ RLPStream createFullBlockFromHeader(const BlockInfo& _bi,const bytes& _txs, cons
BOOST_AUTO_TEST_SUITE(BlockChainTests)
-BOOST_AUTO_TEST_CASE(bcBlockChainTest)
+BOOST_AUTO_TEST_CASE(bcJS_API_Test)
{
- dev::test::executeTests("bcBlockChainTest", "/BlockTests", dev::test::doBlockchainTests);
+ dev::test::executeTests("bcJS_API_Test", "/BlockTests", dev::test::doBlockchainTests);
}
BOOST_AUTO_TEST_CASE(bcValidBlockTest)