Enable amendments in genesis ledger (RIPD-1281)

When started with "--start", put all known, non-vetoed
amendments in the genesis ledger. This avoids the need
to wait 256 ledgers before amendments are enabled when
testing with a fresh ledger.
This commit is contained in:
JoelKatz
2016-11-21 11:04:18 -08:00
committed by Nik Bougalis
parent dc3571184a
commit e00a6b0e5a
9 changed files with 87 additions and 10 deletions

View File

@@ -53,7 +53,8 @@ struct Regression_test : public beast::unit_test::suite
// be reproduced against an open ledger. Make a local
// closed ledger and work with it directly.
auto closed = std::make_shared<Ledger>(
create_genesis, env.app().config(), env.app().family());
create_genesis, env.app().config(),
std::vector<uint256>{}, env.app().family());
auto expectedDrops = SYSTEM_CURRENCY_START;
BEAST_EXPECT(closed->info().drops == expectedDrops);

View File

@@ -36,27 +36,38 @@ class SHAMapV2_test : public beast::unit_test::suite
jtx::Env env(*this);
Config config;
std::set<uint256> amendments;
std::vector<uint256> amendments_v;
amendments_v.push_back(from_hex_text<uint256>("12345"));
amendments.insert(from_hex_text<uint256>("12345"));
auto ledger =
std::make_shared<Ledger>(create_genesis, config, env.app().family());
std::make_shared<Ledger>(create_genesis, config,
amendments_v, env.app().family());
BEAST_EXPECT(! getSHAMapV2 (ledger->info()));
BEAST_EXPECT(ledger->stateMap().get_version() == SHAMap::version{1});
BEAST_EXPECT(ledger->txMap().get_version() == SHAMap::version{1});
BEAST_EXPECT(getEnabledAmendments(*ledger) == amendments);
ledger =
std::make_shared<Ledger>(*ledger, NetClock::time_point{});
BEAST_EXPECT(! getSHAMapV2 (ledger->info()));
BEAST_EXPECT(ledger->stateMap().get_version() == SHAMap::version{1});
BEAST_EXPECT(ledger->txMap().get_version() == SHAMap::version{1});
BEAST_EXPECT(getEnabledAmendments(*ledger) == amendments);
ledger->make_v2();
BEAST_EXPECT(getSHAMapV2 (ledger->info()));
BEAST_EXPECT(ledger->stateMap().get_version() == SHAMap::version{2});
BEAST_EXPECT(ledger->txMap().get_version() == SHAMap::version{2});
BEAST_EXPECT(getEnabledAmendments(*ledger) == amendments);
ledger = std::make_shared<Ledger>(*ledger, NetClock::time_point{});
BEAST_EXPECT(getSHAMapV2 (ledger->info()));
BEAST_EXPECT(ledger->stateMap().get_version() == SHAMap::version{2});
BEAST_EXPECT(ledger->txMap().get_version() == SHAMap::version{2});
BEAST_EXPECT(getEnabledAmendments(*ledger) == amendments);
}
void run()

View File

@@ -37,8 +37,9 @@ class SkipList_test : public beast::unit_test::suite
{
jtx::Env env(*this);
Config config;
auto prev =
std::make_shared<Ledger>(create_genesis, config, env.app().family());
auto prev = std::make_shared<Ledger>(
create_genesis, config,
std::vector<uint256>{}, env.app().family());
history.push_back(prev);
for (auto i = 0; i < 1023; ++i)
{

View File

@@ -152,7 +152,8 @@ class View_test
Config config;
std::shared_ptr<Ledger const> const genesis =
std::make_shared<Ledger>(
create_genesis, config, env.app().family());
create_genesis, config,
std::vector<uint256>{}, env.app().family());
auto const ledger =
std::make_shared<Ledger>(
*genesis,
@@ -417,7 +418,8 @@ class View_test
Config config;
std::shared_ptr<Ledger const> const genesis =
std::make_shared<Ledger> (
create_genesis, config, env.app().family());
create_genesis, config,
std::vector<uint256>{}, env.app().family());
auto const ledger = std::make_shared<Ledger>(
*genesis,
env.app().timeKeeper().closeTime());
@@ -751,7 +753,8 @@ class View_test
Config config;
std::shared_ptr<Ledger const> const genesis =
std::make_shared<Ledger>(
create_genesis, config, env.app().family());
create_genesis, config,
std::vector<uint256>{}, env.app().family());
auto const ledger =
std::make_shared<Ledger>(
*genesis,