Skip to content

Commit

Permalink
e2e: abci protocol should be consistent across networks (#7078)
Browse files Browse the repository at this point in the history
It seems weird in retrospect that we allow networks to contain
applications that use different ABCI protocols.

(cherry picked from commit f2a8f5e)
  • Loading branch information
tychoish authored and mergify-bot committed Oct 8, 2021
1 parent f0cd548 commit 642bd1f
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 12 deletions.
3 changes: 1 addition & 2 deletions test/e2e/generator/generate.go
Original file line number Diff line number Diff line change
Expand Up @@ -134,6 +134,7 @@ const (
func generateTestnet(r *rand.Rand, opt map[string]interface{}) (e2e.Manifest, error) {
manifest := e2e.Manifest{
IPv6: ipv6.Choose(r).(bool),
ABCIProtocol: nodeABCIProtocols.Choose(r),
InitialHeight: int64(opt["initialHeight"].(int)),
InitialState: opt["initialState"].(map[string]string),
Validators: &map[string]int64{},
Expand Down Expand Up @@ -365,7 +366,6 @@ func generateNode(
Mode: string(mode),
StartAt: startAt,
Database: nodeDatabases.Choose(r),
ABCIProtocol: nodeABCIProtocols.Choose(r),
PrivvalProtocol: nodePrivvalProtocols.Choose(r),
BlockSync: nodeBlockSyncs.Choose(r).(string),
Mempool: nodeMempools.Choose(r).(string),
Expand Down Expand Up @@ -427,7 +427,6 @@ func generateLightNode(r *rand.Rand, startAt int64, providers []string) *e2e.Man
Mode: string(e2e.ModeLight),
StartAt: startAt,
Database: nodeDatabases.Choose(r),
ABCIProtocol: "builtin",
PersistInterval: ptrUint64(0),
PersistentPeers: providers,
}
Expand Down
12 changes: 6 additions & 6 deletions test/e2e/pkg/manifest.go
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,12 @@ type Manifest struct {

// Number of bytes per tx. Default is 1kb (1024)
TxSize int64

// ABCIProtocol specifies the protocol used to communicate with the ABCI
// application: "unix", "tcp", "grpc", or "builtin". Defaults to builtin.
// builtin will build a complete Tendermint node into the application and
// launch it instead of launching a separate Tendermint process.
ABCIProtocol string `toml:"abci_protocol"`
}

// ManifestNode represents a node in a testnet manifest.
Expand All @@ -87,12 +93,6 @@ type ManifestNode struct {
// "rocksdb", "boltdb", or "badgerdb". Defaults to goleveldb.
Database string `toml:"database"`

// ABCIProtocol specifies the protocol used to communicate with the ABCI
// application: "unix", "tcp", "grpc", or "builtin". Defaults to unix.
// builtin will build a complete Tendermint node into the application and
// launch it instead of launching a separate Tendermint process.
ABCIProtocol string `toml:"abci_protocol"`

// PrivvalProtocol specifies the protocol used to sign consensus messages:
// "file", "unix", "tcp", or "grpc". Defaults to "file". For tcp and unix, the ABCI
// application will launch a remote signer client in a separate goroutine.
Expand Down
10 changes: 6 additions & 4 deletions test/e2e/pkg/testnet.go
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@ type Testnet struct {
Evidence int
LogLevel string
TxSize int64
ABCIProtocol string
}

// Node represents a Tendermint node in a testnet.
Expand Down Expand Up @@ -141,6 +142,7 @@ func LoadTestnet(file string) (*Testnet, error) {
KeyType: "ed25519",
LogLevel: manifest.LogLevel,
TxSize: manifest.TxSize,
ABCIProtocol: manifest.ABCIProtocol,
}
if len(manifest.KeyType) != 0 {
testnet.KeyType = manifest.KeyType
Expand All @@ -151,6 +153,9 @@ func LoadTestnet(file string) (*Testnet, error) {
if manifest.InitialHeight > 0 {
testnet.InitialHeight = manifest.InitialHeight
}
if testnet.ABCIProtocol == "" {
testnet.ABCIProtocol = string(ProtocolBuiltin)
}

// Set up nodes, in alphabetical order (IPs and ports get same order).
nodeNames := []string{}
Expand All @@ -170,7 +175,7 @@ func LoadTestnet(file string) (*Testnet, error) {
ProxyPort: proxyPortGen.Next(),
Mode: ModeValidator,
Database: "goleveldb",
ABCIProtocol: ProtocolBuiltin,
ABCIProtocol: Protocol(testnet.ABCIProtocol),
PrivvalProtocol: ProtocolFile,
StartAt: nodeManifest.StartAt,
BlockSync: nodeManifest.BlockSync,
Expand All @@ -194,9 +199,6 @@ func LoadTestnet(file string) (*Testnet, error) {
if nodeManifest.Database != "" {
node.Database = nodeManifest.Database
}
if nodeManifest.ABCIProtocol != "" {
node.ABCIProtocol = Protocol(nodeManifest.ABCIProtocol)
}
if nodeManifest.PrivvalProtocol != "" {
node.PrivvalProtocol = Protocol(nodeManifest.PrivvalProtocol)
}
Expand Down

0 comments on commit 642bd1f

Please sign in to comment.