forked from cerc-io/plugeth
cmd/geth: use a loop in TestDAOForkBlockNewChain (#3222)
This commit is contained in:
parent
355f4b0c15
commit
5b31794dfe
@ -80,91 +80,75 @@ var daoProForkGenesis = `{
|
||||
var daoGenesisHash = common.HexToHash("5e1fc79cb4ffa4739177b5408045cd5d51c6cf766133f23f7cd72ee1f8d790e0")
|
||||
var daoGenesisForkBlock = big.NewInt(314)
|
||||
|
||||
// Tests that the DAO hard-fork number and the nodes support/opposition is correctly
|
||||
// TestDAOForkBlockNewChain tests that the DAO hard-fork number and the nodes support/opposition is correctly
|
||||
// set in the database after various initialization procedures and invocations.
|
||||
func TestDAODefaultMainnet(t *testing.T) {
|
||||
testDAOForkBlockNewChain(t, false, "", [][2]bool{{false, false}}, params.MainNetDAOForkBlock, true)
|
||||
}
|
||||
func TestDAOSupportMainnet(t *testing.T) {
|
||||
testDAOForkBlockNewChain(t, false, "", [][2]bool{{true, false}}, params.MainNetDAOForkBlock, true)
|
||||
}
|
||||
func TestDAOOpposeMainnet(t *testing.T) {
|
||||
testDAOForkBlockNewChain(t, false, "", [][2]bool{{false, true}}, params.MainNetDAOForkBlock, false)
|
||||
}
|
||||
func TestDAOSwitchToSupportMainnet(t *testing.T) {
|
||||
testDAOForkBlockNewChain(t, false, "", [][2]bool{{false, true}, {true, false}}, params.MainNetDAOForkBlock, true)
|
||||
}
|
||||
func TestDAOSwitchToOpposeMainnet(t *testing.T) {
|
||||
testDAOForkBlockNewChain(t, false, "", [][2]bool{{true, false}, {false, true}}, params.MainNetDAOForkBlock, false)
|
||||
}
|
||||
func TestDAODefaultTestnet(t *testing.T) {
|
||||
testDAOForkBlockNewChain(t, true, "", [][2]bool{{false, false}}, params.TestNetDAOForkBlock, true)
|
||||
}
|
||||
func TestDAOSupportTestnet(t *testing.T) {
|
||||
testDAOForkBlockNewChain(t, true, "", [][2]bool{{true, false}}, params.TestNetDAOForkBlock, true)
|
||||
}
|
||||
func TestDAOOpposeTestnet(t *testing.T) {
|
||||
testDAOForkBlockNewChain(t, true, "", [][2]bool{{false, true}}, params.TestNetDAOForkBlock, false)
|
||||
}
|
||||
func TestDAOSwitchToSupportTestnet(t *testing.T) {
|
||||
testDAOForkBlockNewChain(t, true, "", [][2]bool{{false, true}, {true, false}}, params.TestNetDAOForkBlock, true)
|
||||
}
|
||||
func TestDAOSwitchToOpposeTestnet(t *testing.T) {
|
||||
testDAOForkBlockNewChain(t, true, "", [][2]bool{{true, false}, {false, true}}, params.TestNetDAOForkBlock, false)
|
||||
}
|
||||
func TestDAOInitOldPrivnet(t *testing.T) {
|
||||
testDAOForkBlockNewChain(t, false, daoOldGenesis, [][2]bool{}, nil, false)
|
||||
}
|
||||
func TestDAODefaultOldPrivnet(t *testing.T) {
|
||||
testDAOForkBlockNewChain(t, false, daoOldGenesis, [][2]bool{{false, false}}, nil, false)
|
||||
}
|
||||
func TestDAOSupportOldPrivnet(t *testing.T) {
|
||||
testDAOForkBlockNewChain(t, false, daoOldGenesis, [][2]bool{{true, false}}, nil, true)
|
||||
}
|
||||
func TestDAOOpposeOldPrivnet(t *testing.T) {
|
||||
testDAOForkBlockNewChain(t, false, daoOldGenesis, [][2]bool{{false, true}}, nil, false)
|
||||
}
|
||||
func TestDAOSwitchToSupportOldPrivnet(t *testing.T) {
|
||||
testDAOForkBlockNewChain(t, false, daoOldGenesis, [][2]bool{{false, true}, {true, false}}, nil, true)
|
||||
}
|
||||
func TestDAOSwitchToOpposeOldPrivnet(t *testing.T) {
|
||||
testDAOForkBlockNewChain(t, false, daoOldGenesis, [][2]bool{{true, false}, {false, true}}, nil, false)
|
||||
}
|
||||
func TestDAOInitNoForkPrivnet(t *testing.T) {
|
||||
testDAOForkBlockNewChain(t, false, daoNoForkGenesis, [][2]bool{}, daoGenesisForkBlock, false)
|
||||
}
|
||||
func TestDAODefaultNoForkPrivnet(t *testing.T) {
|
||||
testDAOForkBlockNewChain(t, false, daoNoForkGenesis, [][2]bool{{false, false}}, daoGenesisForkBlock, false)
|
||||
}
|
||||
func TestDAOSupportNoForkPrivnet(t *testing.T) {
|
||||
testDAOForkBlockNewChain(t, false, daoNoForkGenesis, [][2]bool{{true, false}}, daoGenesisForkBlock, true)
|
||||
}
|
||||
func TestDAOOpposeNoForkPrivnet(t *testing.T) {
|
||||
testDAOForkBlockNewChain(t, false, daoNoForkGenesis, [][2]bool{{false, true}}, daoGenesisForkBlock, false)
|
||||
}
|
||||
func TestDAOSwitchToSupportNoForkPrivnet(t *testing.T) {
|
||||
testDAOForkBlockNewChain(t, false, daoNoForkGenesis, [][2]bool{{false, true}, {true, false}}, daoGenesisForkBlock, true)
|
||||
}
|
||||
func TestDAOSwitchToOpposeNoForkPrivnet(t *testing.T) {
|
||||
testDAOForkBlockNewChain(t, false, daoNoForkGenesis, [][2]bool{{true, false}, {false, true}}, daoGenesisForkBlock, false)
|
||||
}
|
||||
func TestDAOInitProForkPrivnet(t *testing.T) {
|
||||
testDAOForkBlockNewChain(t, false, daoProForkGenesis, [][2]bool{}, daoGenesisForkBlock, true)
|
||||
}
|
||||
func TestDAODefaultProForkPrivnet(t *testing.T) {
|
||||
testDAOForkBlockNewChain(t, false, daoProForkGenesis, [][2]bool{{false, false}}, daoGenesisForkBlock, true)
|
||||
}
|
||||
func TestDAOSupportProForkPrivnet(t *testing.T) {
|
||||
testDAOForkBlockNewChain(t, false, daoProForkGenesis, [][2]bool{{true, false}}, daoGenesisForkBlock, true)
|
||||
}
|
||||
func TestDAOOpposeProForkPrivnet(t *testing.T) {
|
||||
testDAOForkBlockNewChain(t, false, daoProForkGenesis, [][2]bool{{false, true}}, daoGenesisForkBlock, false)
|
||||
}
|
||||
func TestDAOSwitchToSupportProForkPrivnet(t *testing.T) {
|
||||
testDAOForkBlockNewChain(t, false, daoProForkGenesis, [][2]bool{{false, true}, {true, false}}, daoGenesisForkBlock, true)
|
||||
}
|
||||
func TestDAOSwitchToOpposeProForkPrivnet(t *testing.T) {
|
||||
testDAOForkBlockNewChain(t, false, daoProForkGenesis, [][2]bool{{true, false}, {false, true}}, daoGenesisForkBlock, false)
|
||||
func TestDAOForkBlockNewChain(t *testing.T) {
|
||||
for _, arg := range []struct {
|
||||
testnet bool
|
||||
genesis string
|
||||
votes [][2]bool
|
||||
expectBlock *big.Int
|
||||
expectVote bool
|
||||
}{
|
||||
// Test DAO Default Mainnet
|
||||
{false, "", [][2]bool{{false, false}}, params.MainNetDAOForkBlock, true},
|
||||
// test DAO Support Mainnet
|
||||
{false, "", [][2]bool{{true, false}}, params.MainNetDAOForkBlock, true},
|
||||
// test DAO Oppose Mainnet
|
||||
{false, "", [][2]bool{{false, true}}, params.MainNetDAOForkBlock, false},
|
||||
// test DAO Switch To Support Mainnet
|
||||
{false, "", [][2]bool{{false, true}, {true, false}}, params.MainNetDAOForkBlock, true},
|
||||
// test DAO Switch To Oppose Mainnet
|
||||
{false, "", [][2]bool{{true, false}, {false, true}}, params.MainNetDAOForkBlock, false},
|
||||
// test DAO Default Testnet
|
||||
{true, "", [][2]bool{{false, false}}, params.TestNetDAOForkBlock, true},
|
||||
// test DAO Support Testnet
|
||||
{true, "", [][2]bool{{true, false}}, params.TestNetDAOForkBlock, true},
|
||||
// test DAO Oppose Testnet
|
||||
{true, "", [][2]bool{{false, true}}, params.TestNetDAOForkBlock, false},
|
||||
// test DAO Switch To Support Testnet
|
||||
{true, "", [][2]bool{{false, true}, {true, false}}, params.TestNetDAOForkBlock, true},
|
||||
// test DAO Switch To Oppose Testnet
|
||||
{true, "", [][2]bool{{true, false}, {false, true}}, params.TestNetDAOForkBlock, false},
|
||||
// test DAO Init Old Privnet
|
||||
{false, daoOldGenesis, [][2]bool{}, nil, false},
|
||||
// test DAO Default Old Privnet
|
||||
{false, daoOldGenesis, [][2]bool{{false, false}}, nil, false},
|
||||
// test DAO Support Old Privnet
|
||||
{false, daoOldGenesis, [][2]bool{{true, false}}, nil, true},
|
||||
// test DAO Oppose Old Privnet
|
||||
{false, daoOldGenesis, [][2]bool{{false, true}}, nil, false},
|
||||
// test DAO Switch To Support Old Privnet
|
||||
{false, daoOldGenesis, [][2]bool{{false, true}, {true, false}}, nil, true},
|
||||
// test DAO Switch To Oppose Old Privnet
|
||||
{false, daoOldGenesis, [][2]bool{{true, false}, {false, true}}, nil, false},
|
||||
// test DAO Init No Fork Privnet
|
||||
{false, daoNoForkGenesis, [][2]bool{}, daoGenesisForkBlock, false},
|
||||
// test DAO Default No Fork Privnet
|
||||
{false, daoNoForkGenesis, [][2]bool{{false, false}}, daoGenesisForkBlock, false},
|
||||
// test DAO Support No Fork Privnet
|
||||
{false, daoNoForkGenesis, [][2]bool{{true, false}}, daoGenesisForkBlock, true},
|
||||
// test DAO Oppose No Fork Privnet
|
||||
{false, daoNoForkGenesis, [][2]bool{{false, true}}, daoGenesisForkBlock, false},
|
||||
// test DAO Switch To Support No Fork Privnet
|
||||
{false, daoNoForkGenesis, [][2]bool{{false, true}, {true, false}}, daoGenesisForkBlock, true},
|
||||
// test DAO Switch To Oppose No Fork Privnet
|
||||
{false, daoNoForkGenesis, [][2]bool{{true, false}, {false, true}}, daoGenesisForkBlock, false},
|
||||
// test DAO Init Pro Fork Privnet
|
||||
{false, daoProForkGenesis, [][2]bool{}, daoGenesisForkBlock, true},
|
||||
// test DAO Default Pro Fork Privnet
|
||||
{false, daoProForkGenesis, [][2]bool{{false, false}}, daoGenesisForkBlock, true},
|
||||
// test DAO Support Pro Fork Privnet
|
||||
{false, daoProForkGenesis, [][2]bool{{true, false}}, daoGenesisForkBlock, true},
|
||||
// test DAO Oppose Pro Fork Privnet
|
||||
{false, daoProForkGenesis, [][2]bool{{false, true}}, daoGenesisForkBlock, false},
|
||||
// test DAO Switch To Support Pro Fork Privnet
|
||||
{false, daoProForkGenesis, [][2]bool{{false, true}, {true, false}}, daoGenesisForkBlock, true},
|
||||
// test DAO Switch To Oppose Pro Fork Privnet
|
||||
{false, daoProForkGenesis, [][2]bool{{true, false}, {false, true}}, daoGenesisForkBlock, false},
|
||||
} {
|
||||
testDAOForkBlockNewChain(t, arg.testnet, arg.genesis, arg.votes, arg.expectBlock, arg.expectVote)
|
||||
}
|
||||
}
|
||||
|
||||
func testDAOForkBlockNewChain(t *testing.T, testnet bool, genesis string, votes [][2]bool, expectBlock *big.Int, expectVote bool) {
|
||||
|
Loading…
Reference in New Issue
Block a user