mirror of
https://github.com/tendermint/tendermint.git
synced 2025-12-23 14:25:19 +00:00
e2e: backport minor reliability improvements (#6967)
This commit is contained in:
@@ -15,7 +15,6 @@ var (
|
|||||||
// separate testnet for each combination (Cartesian product) of options.
|
// separate testnet for each combination (Cartesian product) of options.
|
||||||
testnetCombinations = map[string][]interface{}{
|
testnetCombinations = map[string][]interface{}{
|
||||||
"topology": {"single", "quad", "large"},
|
"topology": {"single", "quad", "large"},
|
||||||
"ipv6": {false, true},
|
|
||||||
"initialHeight": {0, 1000},
|
"initialHeight": {0, 1000},
|
||||||
"initialState": {
|
"initialState": {
|
||||||
map[string]string{},
|
map[string]string{},
|
||||||
@@ -26,11 +25,12 @@ var (
|
|||||||
|
|
||||||
// The following specify randomly chosen values for testnet nodes.
|
// The following specify randomly chosen values for testnet nodes.
|
||||||
nodeDatabases = uniformChoice{"goleveldb", "cleveldb", "rocksdb", "boltdb", "badgerdb"}
|
nodeDatabases = uniformChoice{"goleveldb", "cleveldb", "rocksdb", "boltdb", "badgerdb"}
|
||||||
|
ipv6 = uniformChoice{false, true}
|
||||||
// FIXME: grpc disabled due to https://github.com/tendermint/tendermint/issues/5439
|
// FIXME: grpc disabled due to https://github.com/tendermint/tendermint/issues/5439
|
||||||
nodeABCIProtocols = uniformChoice{"unix", "tcp", "builtin"} // "grpc"
|
nodeABCIProtocols = uniformChoice{"unix", "tcp", "builtin"} // "grpc"
|
||||||
nodePrivvalProtocols = uniformChoice{"file", "unix", "tcp"}
|
nodePrivvalProtocols = uniformChoice{"file", "unix", "tcp"}
|
||||||
// FIXME: v2 disabled due to flake
|
// FIXME: v2 disabled due to flake
|
||||||
nodeFastSyncs = uniformChoice{"", "v0"} // "v2"
|
nodeFastSyncs = uniformChoice{"v0"} // "v2"
|
||||||
nodeStateSyncs = uniformChoice{false, true}
|
nodeStateSyncs = uniformChoice{false, true}
|
||||||
nodePersistIntervals = uniformChoice{0, 1, 5}
|
nodePersistIntervals = uniformChoice{0, 1, 5}
|
||||||
nodeSnapshotIntervals = uniformChoice{0, 3}
|
nodeSnapshotIntervals = uniformChoice{0, 3}
|
||||||
@@ -66,7 +66,7 @@ func Generate(r *rand.Rand) ([]e2e.Manifest, error) {
|
|||||||
// generateTestnet generates a single testnet with the given options.
|
// generateTestnet generates a single testnet with the given options.
|
||||||
func generateTestnet(r *rand.Rand, opt map[string]interface{}) (e2e.Manifest, error) {
|
func generateTestnet(r *rand.Rand, opt map[string]interface{}) (e2e.Manifest, error) {
|
||||||
manifest := e2e.Manifest{
|
manifest := e2e.Manifest{
|
||||||
IPv6: opt["ipv6"].(bool),
|
IPv6: ipv6.Choose(r).(bool),
|
||||||
InitialHeight: int64(opt["initialHeight"].(int)),
|
InitialHeight: int64(opt["initialHeight"].(int)),
|
||||||
InitialState: opt["initialState"].(map[string]string),
|
InitialState: opt["initialState"].(map[string]string),
|
||||||
Validators: &map[string]int64{},
|
Validators: &map[string]int64{},
|
||||||
|
|||||||
@@ -17,9 +17,6 @@ import (
|
|||||||
// Tests that any initial state given in genesis has made it into the app.
|
// Tests that any initial state given in genesis has made it into the app.
|
||||||
func TestApp_InitialState(t *testing.T) {
|
func TestApp_InitialState(t *testing.T) {
|
||||||
testNode(t, func(t *testing.T, node e2e.Node) {
|
testNode(t, func(t *testing.T, node e2e.Node) {
|
||||||
if node.Stateless() {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
if len(node.Testnet.InitialState) == 0 {
|
if len(node.Testnet.InitialState) == 0 {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@@ -39,12 +36,6 @@ func TestApp_InitialState(t *testing.T) {
|
|||||||
// block and the node sync status.
|
// block and the node sync status.
|
||||||
func TestApp_Hash(t *testing.T) {
|
func TestApp_Hash(t *testing.T) {
|
||||||
testNode(t, func(t *testing.T, node e2e.Node) {
|
testNode(t, func(t *testing.T, node e2e.Node) {
|
||||||
// disables tests for light clients
|
|
||||||
// see https://github.com/tendermint/tendermint/issues/6671
|
|
||||||
if node.Mode == e2e.ModeSeed || node.Mode == e2e.ModeLight {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
client, err := node.Client()
|
client, err := node.Client()
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
info, err := client.ABCIInfo(ctx)
|
info, err := client.ABCIInfo(ctx)
|
||||||
@@ -66,12 +57,6 @@ func TestApp_Hash(t *testing.T) {
|
|||||||
// Tests that we can set a value and retrieve it.
|
// Tests that we can set a value and retrieve it.
|
||||||
func TestApp_Tx(t *testing.T) {
|
func TestApp_Tx(t *testing.T) {
|
||||||
testNode(t, func(t *testing.T, node e2e.Node) {
|
testNode(t, func(t *testing.T, node e2e.Node) {
|
||||||
// disables tests for light clients
|
|
||||||
// see https://github.com/tendermint/tendermint/issues/6671
|
|
||||||
if node.Mode == e2e.ModeSeed || node.Mode == e2e.ModeLight {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
client, err := node.Client()
|
client, err := node.Client()
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
|||||||
@@ -50,6 +50,10 @@ func testNode(t *testing.T, testFunc func(*testing.T, e2e.Node)) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
for _, node := range nodes {
|
for _, node := range nodes {
|
||||||
|
if node.Stateless() {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
node := *node
|
node := *node
|
||||||
t.Run(node.Name, func(t *testing.T) {
|
t.Run(node.Name, func(t *testing.T) {
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
|
|||||||
Reference in New Issue
Block a user