mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-08-12 23:13:45 +00:00
new: add more cases
This commit is contained in:
parent
4e7cf125ae
commit
0218f17bc0
3 changed files with 35 additions and 99 deletions
2
Makefile
2
Makefile
|
|
@ -65,7 +65,7 @@ test-race:
|
||||||
$(GOTEST) --timeout 15m -race -shuffle=on $(TESTALL)
|
$(GOTEST) --timeout 15m -race -shuffle=on $(TESTALL)
|
||||||
|
|
||||||
test-integration:
|
test-integration:
|
||||||
$(GOTEST) --timeout 30m -tags integration $(TESTE2E)
|
$(GOTEST) --timeout 60m -tags integration $(TESTE2E)
|
||||||
|
|
||||||
escape:
|
escape:
|
||||||
cd $(path) && go test -gcflags "-m -m" -run none -bench=BenchmarkJumpdest* -benchmem -memprofile mem.out
|
cd $(path) && go test -gcflags "-m -m" -run none -bench=BenchmarkJumpdest* -benchmem -memprofile mem.out
|
||||||
|
|
|
||||||
|
|
@ -116,26 +116,6 @@ func initGenesis(t *testing.T, faucets []*ecdsa.PrivateKey) *core.Genesis {
|
||||||
return genesis
|
return genesis
|
||||||
}
|
}
|
||||||
|
|
||||||
func initGenesis2(t *testing.T, faucets []*ecdsa.PrivateKey) *core.Genesis {
|
|
||||||
|
|
||||||
// sprint size = 128 in genesis
|
|
||||||
genesisData, err := ioutil.ReadFile("./testdata/genesis3.json")
|
|
||||||
if err != nil {
|
|
||||||
t.Fatalf("%s", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
genesis := &core.Genesis{}
|
|
||||||
|
|
||||||
if err := json.Unmarshal(genesisData, genesis); err != nil {
|
|
||||||
t.Fatalf("%s", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
genesis.Config.ChainID = big.NewInt(15001)
|
|
||||||
genesis.Config.EIP150Hash = common.Hash{}
|
|
||||||
|
|
||||||
return genesis
|
|
||||||
}
|
|
||||||
|
|
||||||
func TestValidatorWentOffline(t *testing.T) {
|
func TestValidatorWentOffline(t *testing.T) {
|
||||||
|
|
||||||
log.Root().SetHandler(log.LvlFilterHandler(log.LvlInfo, log.StreamHandler(os.Stderr, log.TerminalFormat(true))))
|
log.Root().SetHandler(log.LvlFilterHandler(log.LvlInfo, log.StreamHandler(os.Stderr, log.TerminalFormat(true))))
|
||||||
|
|
@ -299,12 +279,14 @@ func TestValidatorWentOffline(t *testing.T) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: Need to find a better name
|
func TestForkWithBlockTime(t *testing.T) {
|
||||||
func TestForkWithTwoNodeNet(t *testing.T) {
|
|
||||||
|
|
||||||
cases := []struct {
|
cases := []struct {
|
||||||
sprint uint64
|
sprint uint64
|
||||||
blockTime map[string]uint64
|
blockTime map[string]uint64
|
||||||
|
change uint64
|
||||||
|
producerDelay uint64
|
||||||
|
forkExpected bool
|
||||||
}{
|
}{
|
||||||
{
|
{
|
||||||
sprint: 128,
|
sprint: 128,
|
||||||
|
|
@ -313,6 +295,9 @@ func TestForkWithTwoNodeNet(t *testing.T) {
|
||||||
"128": 2,
|
"128": 2,
|
||||||
"256": 8,
|
"256": 8,
|
||||||
},
|
},
|
||||||
|
change: 2,
|
||||||
|
producerDelay: 8,
|
||||||
|
forkExpected: false,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
sprint: 64,
|
sprint: 64,
|
||||||
|
|
@ -320,6 +305,19 @@ func TestForkWithTwoNodeNet(t *testing.T) {
|
||||||
"0": 5,
|
"0": 5,
|
||||||
"64": 2,
|
"64": 2,
|
||||||
},
|
},
|
||||||
|
change: 1,
|
||||||
|
producerDelay: 5,
|
||||||
|
forkExpected: false,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
sprint: 16,
|
||||||
|
blockTime: map[string]uint64{
|
||||||
|
"0": 2,
|
||||||
|
"64": 5,
|
||||||
|
},
|
||||||
|
change: 4,
|
||||||
|
producerDelay: 4,
|
||||||
|
forkExpected: true,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
log.Root().SetHandler(log.LvlFilterHandler(log.LvlInfo, log.StreamHandler(os.Stderr, log.TerminalFormat(true))))
|
log.Root().SetHandler(log.LvlFilterHandler(log.LvlInfo, log.StreamHandler(os.Stderr, log.TerminalFormat(true))))
|
||||||
|
|
@ -337,6 +335,8 @@ func TestForkWithTwoNodeNet(t *testing.T) {
|
||||||
for _, test := range cases {
|
for _, test := range cases {
|
||||||
genesis.Config.Bor.Sprint = test.sprint
|
genesis.Config.Bor.Sprint = test.sprint
|
||||||
genesis.Config.Bor.Period = test.blockTime
|
genesis.Config.Bor.Period = test.blockTime
|
||||||
|
genesis.Config.Bor.BackupMultiplier = test.blockTime
|
||||||
|
genesis.Config.Bor.ProducerDelay = test.producerDelay
|
||||||
|
|
||||||
var (
|
var (
|
||||||
stacks []*node.Node
|
stacks []*node.Node
|
||||||
|
|
@ -382,7 +382,7 @@ func TestForkWithTwoNodeNet(t *testing.T) {
|
||||||
go func(i int) {
|
go func(i int) {
|
||||||
defer wg.Done()
|
defer wg.Done()
|
||||||
for {
|
for {
|
||||||
blockHeaders[i] = nodes[i].BlockChain().GetHeaderByNumber(test.sprint + 1)
|
blockHeaders[i] = nodes[i].BlockChain().GetHeaderByNumber(test.sprint*test.change + 10)
|
||||||
if blockHeaders[i] != nil {
|
if blockHeaders[i] != nil {
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
|
|
@ -409,10 +409,6 @@ func TestForkWithTwoNodeNet(t *testing.T) {
|
||||||
assert.Equal(t, author0, author1)
|
assert.Equal(t, author0, author1)
|
||||||
|
|
||||||
// After the end of sprint
|
// After the end of sprint
|
||||||
// FIXME: POS-845
|
|
||||||
assert.NotEqual(t, blockHeaders[0].Hash(), blockHeaders[1].Hash())
|
|
||||||
assert.NotEqual(t, blockHeaders[0].Time, blockHeaders[1].Time)
|
|
||||||
|
|
||||||
author2, err := nodes[0].Engine().Author(blockHeaders[0])
|
author2, err := nodes[0].Engine().Author(blockHeaders[0])
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Error("Error occured while fetching author", "err", err)
|
log.Error("Error occured while fetching author", "err", err)
|
||||||
|
|
@ -421,8 +417,16 @@ func TestForkWithTwoNodeNet(t *testing.T) {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Error("Error occured while fetching author", "err", err)
|
log.Error("Error occured while fetching author", "err", err)
|
||||||
}
|
}
|
||||||
assert.NotEqual(t, author2, author3)
|
|
||||||
|
|
||||||
|
if test.forkExpected {
|
||||||
|
assert.NotEqual(t, blockHeaders[0].Hash(), blockHeaders[1].Hash())
|
||||||
|
assert.NotEqual(t, blockHeaders[0].Time, blockHeaders[1].Time)
|
||||||
|
assert.NotEqual(t, author2, author3)
|
||||||
|
} else {
|
||||||
|
assert.Equal(t, blockHeaders[0].Hash(), blockHeaders[1].Hash())
|
||||||
|
assert.Equal(t, blockHeaders[0].Time, blockHeaders[1].Time)
|
||||||
|
assert.Equal(t, author2, author3)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
68
tests/bor/testdata/genesis3.json
vendored
68
tests/bor/testdata/genesis3.json
vendored
File diff suppressed because one or more lines are too long
Loading…
Reference in a new issue