Changeset View
Changeset View
Standalone View
Standalone View
src/test/validation_chainstatemanager_tests.cpp
Show First 20 Lines • Show All 536 Lines • ▼ Show 20 Lines | BOOST_FIXTURE_TEST_CASE(chainstatemanager_snapshot_init, SnapshotTestSetup) { | ||||
// performing chainstate reinitializing successfully cleans up the | // performing chainstate reinitializing successfully cleans up the | ||||
// background-validation chainstate data, and we end up with a single | // background-validation chainstate data, and we end up with a single | ||||
// chainstate that is at tip. | // chainstate that is at tip. | ||||
ChainstateManager &chainman_restarted = this->SimulateNodeRestart(); | ChainstateManager &chainman_restarted = this->SimulateNodeRestart(); | ||||
BOOST_TEST_MESSAGE("Performing Load/Verify/Activate of chainstate"); | BOOST_TEST_MESSAGE("Performing Load/Verify/Activate of chainstate"); | ||||
// This call reinitializes the chainstates. | // This call reinitializes the chainstates. | ||||
this->LoadVerifyActivateChainstate(::GetConfig()); | this->LoadVerifyActivateChainstate(); | ||||
{ | { | ||||
LOCK(chainman_restarted.GetMutex()); | LOCK(chainman_restarted.GetMutex()); | ||||
BOOST_CHECK_EQUAL(chainman_restarted.GetAll().size(), 2); | BOOST_CHECK_EQUAL(chainman_restarted.GetAll().size(), 2); | ||||
BOOST_CHECK(chainman_restarted.IsSnapshotActive()); | BOOST_CHECK(chainman_restarted.IsSnapshotActive()); | ||||
BOOST_CHECK(!chainman_restarted.IsSnapshotValidated()); | BOOST_CHECK(!chainman_restarted.IsSnapshotValidated()); | ||||
BOOST_CHECK_EQUAL(chainman_restarted.ActiveTip()->GetBlockHash(), | BOOST_CHECK_EQUAL(chainman_restarted.ActiveTip()->GetBlockHash(), | ||||
▲ Show 20 Lines • Show All 74 Lines • ▼ Show 20 Lines | BOOST_FIXTURE_TEST_CASE(chainstatemanager_snapshot_completion, | ||||
// background-validation chainstate data, and we end up with a single | // background-validation chainstate data, and we end up with a single | ||||
// chainstate that is at tip. | // chainstate that is at tip. | ||||
ChainstateManager &chainman_restarted = this->SimulateNodeRestart(); | ChainstateManager &chainman_restarted = this->SimulateNodeRestart(); | ||||
BOOST_TEST_MESSAGE("Performing Load/Verify/Activate of chainstate"); | BOOST_TEST_MESSAGE("Performing Load/Verify/Activate of chainstate"); | ||||
// This call reinitializes the chainstates, and should clean up the now | // This call reinitializes the chainstates, and should clean up the now | ||||
// unnecessary background-validation leveldb contents. | // unnecessary background-validation leveldb contents. | ||||
this->LoadVerifyActivateChainstate(::GetConfig()); | this->LoadVerifyActivateChainstate(); | ||||
BOOST_CHECK(!fs::exists(snapshot_invalid_dir)); | BOOST_CHECK(!fs::exists(snapshot_invalid_dir)); | ||||
// chainstate_snapshot should now *not* exist. | // chainstate_snapshot should now *not* exist. | ||||
BOOST_CHECK(!fs::exists(snapshot_chainstate_dir)); | BOOST_CHECK(!fs::exists(snapshot_chainstate_dir)); | ||||
const Chainstate &active_cs2 = chainman_restarted.ActiveChainstate(); | const Chainstate &active_cs2 = chainman_restarted.ActiveChainstate(); | ||||
{ | { | ||||
▲ Show 20 Lines • Show All 61 Lines • ▼ Show 20 Lines | BOOST_FIXTURE_TEST_CASE(chainstatemanager_snapshot_completion_hash_mismatch, | ||||
// fully-validated chainstate data, and we end up with a single chainstate | // fully-validated chainstate data, and we end up with a single chainstate | ||||
// that is at tip. | // that is at tip. | ||||
ChainstateManager &chainman_restarted = this->SimulateNodeRestart(); | ChainstateManager &chainman_restarted = this->SimulateNodeRestart(); | ||||
BOOST_TEST_MESSAGE("Performing Load/Verify/Activate of chainstate"); | BOOST_TEST_MESSAGE("Performing Load/Verify/Activate of chainstate"); | ||||
// This call reinitializes the chainstates, and should clean up the now | // This call reinitializes the chainstates, and should clean up the now | ||||
// unnecessary background-validation leveldb contents. | // unnecessary background-validation leveldb contents. | ||||
this->LoadVerifyActivateChainstate(::GetConfig()); | this->LoadVerifyActivateChainstate(); | ||||
BOOST_CHECK(fs::exists(snapshot_invalid_dir)); | BOOST_CHECK(fs::exists(snapshot_invalid_dir)); | ||||
BOOST_CHECK(!fs::exists(snapshot_chainstate_dir)); | BOOST_CHECK(!fs::exists(snapshot_chainstate_dir)); | ||||
{ | { | ||||
LOCK(::cs_main); | LOCK(::cs_main); | ||||
BOOST_CHECK_EQUAL(chainman_restarted.GetAll().size(), 1); | BOOST_CHECK_EQUAL(chainman_restarted.GetAll().size(), 1); | ||||
BOOST_CHECK(!chainman_restarted.IsSnapshotActive()); | BOOST_CHECK(!chainman_restarted.IsSnapshotActive()); | ||||
Show All 14 Lines |